我在 XAML 中定义了一个 ContextMenu,并在代码中对其进行了修改:
ContextMenu EditContextMenu;
EditContextMenu = (ContextMenu)this.FindResource("EditContextMenu");
//Modify it here...
然后,我需要ContextMenu
使用数据绑定将其设置为 XAML 主题文件中的所有 TextBoxes、DatePickers 等。我尝试向主窗口添加一个属性:
public ContextMenu sosEditContextMenu
{
get
{
return EditContextMenu;
}
}
...并像这样绑定它(以下来自主题文件,其中“ FTWin
”是定义属性Name
的主窗口的主题文件sosEditContextMenu
):
<Style TargetType="{x:Type TextBox}">
<Setter Property="ContextMenu" Value="{Binding Source=FTWin, Path=sosEditContextMenu}"/>
</Style>
...但它不起作用。我已经尝试了各种方法,我要么得到关于找不到资源的异常,要么什么也没发生。
我正在尝试做的事情是否可能,如果是,我做错了什么?我不知道设置对象的 DataContext 是否有帮助,但是通过代码为所有 TextBoxes 设置它不是很好,对吧?