我需要将我的WPF USerControl
插入Windows.Form
。这是我的控制:
<UserControl x:Class="WpfControlLibrary1.UserControl1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Background="Transparent">
<InkCanvas x:Name="Ink" Background="Transparent" />
</UserControl>
要托管此控件,我使用ElementHost
对象作为我的表单的唯一控件。我需要有可能执行以下操作:当我将窗体的不透明度设置为0时,为了使其不可见,我需要继续使用所有Children
和{{1}的不透明度我的Strokes
到1(所以我可以看到它们)。
我尝试使用InkCanvas
属性,但它似乎不适用于TransparencyKey
。如何解决此问题,如何在Form和UserControl之间设置不同的不透明度?
答案 0 :(得分:1)
无法作为WPF使用的AFAIK使用子像素alpha渲染,例如winform无法使用
希望这个帮助
答案 1 :(得分:1)
如果要托管在Win Forms上透明运行的WPF控件,请按照以下步骤操作
创建WPF用户控件并设置background =“transparent”。
创建没有控件的Win用户控件并编写以下内容 代码在其后端:
public WinControl()
{
InitializeComponent();
}
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.ExStyle |= 0x00000020;
return cp;
}
}
现在将WPF usercontrol放在Win用户控件上并停靠wpfusercontrol 到其父级(赢得用户控制)。
现在在Win Form和Dock win用户控件上拖动win用户控件 到其父母(表格)
你完成了。
答案 2 :(得分:0)
您可以使用Microsoft.Ink.dll创建自己的基于WinForms的UserControl,支持手写识别,如果这是您要做的事情。