问题描述
|
我正在使用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>
解决方法
这是ѭ2X的示例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>