我正在使用ElementHost在WinForms控件中承载一个WPF用户控件。我的WPF控件有DropShadowEffect,但它没有显示在屏幕上。WPF控件是平面控件。我该怎么办?下面是我的代码:
public WinFormsUserControl3()
{
InitializeComponent();
elementHost1 = new ElementHost() { Child = new MyWPFUserControl(), AutoSize=true};
Controls.Add(elementHost1);
}MyWPFUserControl xaml:
<UserControl x:Class="WindowsFormsApplication1.MyWPFUserControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WindowsFormsApplication1"
Height="113" Width="107" Padding="10" Background="Red" >
<UserControl.Effect>
<DropShadowEffect></DropShadowEffect>
</UserControl.Effect>
<StackPanel Background="Yellow">
<Button Content="Button 1" Padding="5" Margin="5" />
<Button x:Name="Button2" Padding="5" Margin="5" Content="Button 2" />
</StackPanel>
</UserControl>发布于 2011-05-26 05:11:24
这是DropShadowEffect的示例XAML代码。
<UserControl x:Class='SilverlightApplication3.MainPage'
xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation'
xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'
xmlns:d='http://schemas.microsoft.com/expression/blend/2008'
xmlns:mc='http://schemas.openxmlformats.org/markup-compatibility/2006'
mc:Ignorable='d'
d:DesignWidth='640'
d:DesignHeight='480'>
<Canvas Height="Auto" Width="Auto" Background="White">
<TextBlock Height="49" Width="814" Canvas.Left="22" Canvas.Top="18"
Text="this is a test" TextWrapping="Wrap"
d:LayoutOverrides="Height" FontSize="30" FontFamily="Arial">
<TextBlock.Effect>
<DropShadowEffect/>
</TextBlock.Effect>
</TextBlock>
</Canvas>
</UserControl>https://stackoverflow.com/questions/6130893
复制相似问题