C# 在设计时修改资源,将代码隐藏在WPF项目中
我现在要做的是:修改Expression Blend UI/Visual Studio,在我的一个依赖项属性上添加一个按钮,当我单击它时,它会创建一个新触发器 工作原理:我创建了按钮,它出现在UI中,没关系 不起作用的内容:我无法修改资源以添加触发器(如果我介入,它会起作用,但不会修改全局资源,只修改我认为的实例) 我在Visual Studio中有我的主项目,还有一个带有如下按钮的属性:C# 在设计时修改资源,将代码隐藏在WPF项目中,c#,.net,wpf,resources,expression-blend,C#,.net,Wpf,Resources,Expression Blend,我现在要做的是:修改Expression Blend UI/Visual Studio,在我的一个依赖项属性上添加一个按钮,当我单击它时,它会创建一个新触发器 工作原理:我创建了按钮,它出现在UI中,没关系 不起作用的内容:我无法修改资源以添加触发器(如果我介入,它会起作用,但不会修改全局资源,只修改我认为的实例) 我在Visual Studio中有我的主项目,还有一个带有如下按钮的属性: ... ResourceContainer rc; ... MyGrid.Resources.Add(
...
ResourceContainer rc;
...
MyGrid.Resources.Add("MyKey", rc.MyButton);
...
(when you need it)
rc.MyButton.Triggers.Add(TriggerBase item);
...
按下按钮时,会发生以下情况:
- 我得到包含该依赖属性(Ok)的控件李>
- 我搜索了包含要修改的资源的资源文件(确定)
- 我更新了资源,但它不会替换磁盘上的资源
我现在使用的是Visual Studio 2010/Blend 4/.NET 4.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>
天哪,你是怎么做到的?我需要为VS 2010 EDMX Designer的一个属性执行类似的操作,您可以查看