我现在正在尝试做什么:修改Expression Blend UI / Visual Studio,在我的某个依赖项属性上添加一个按钮,当我点击它时,它会创建一个新触发器。
工作正常:我创建了按钮,它出现在用户界面中,没关系。
什么不起作用:我无法修改资源以添加触发器(如果我介入,它可以工作,但它不会在全局资源上修改,只在我认为的实例上)。
我在Visual Studio中有我的主项目,以及一个带有如下按钮的属性:
按下按钮时会发生这种情况:
我认为这是因为我只在内存上修改它,所以它在“空中”
我现在不知道该去哪里......我需要帮助
我修改资源的代码在另一个DLL中,即MyLibrary。设计 .cs
我正在使用Visual Studio 2010 / Blend 4 / .NET 4.0
答案 0 :(得分:0)
这是我目前可以想到的一个洗脱,但不幸的是我现在无法测试它。你仍然可以检查它是否适合你。
你可以有一个课程,比如ResourceContainer.cs
,并将你的控件作为公共静态值收集,并让你的控件成为一个按钮:
public static Button MyButton;
然后您可以在代码隐藏中使用它:
如果你的窗口是MainWindow.xaml
,并且你需要在网格中使用你的特定控件,那么你可能会有类似的东西:
<Window x:Class=...
...(namespace stuff)...
Title="MainWindow" ...(size stuff)...>
<Grid x:Name="MyGrid">
...(your code here)...
</Grid>
...
</Window>
然后在MainWindow.xaml.cs
中,您可以像这样使用ResourceContainer.cs
:
...
ResourceContainer rc;
...
MyGrid.Resources.Add("MyKey", rc.MyButton);
...
(when you need it)
rc.MyButton.Triggers.Add(TriggerBase item);
...