我目前正在开发一个我们有很多依赖项目的项目.我想将所有引用的dll编译成.exe,就像使用嵌入式资源一样.我已经尝试过ILMerge但它无法处理.xaml资源.
所以我的问题是:有没有办法将WPF项目与多个依赖项合并为一个.exe?
我有多个文本框的网格.根据用户可能采取的操作,应将焦点更改为其中一个文本框.我当前的解决方案使用ViewModel中的字符串属性和xaml中的数据触发器来更改焦点.它工作得很好,但它似乎是一个相当迂回的方式来实现这一点,所以我想知道它是否可以以一种更清晰的方式完成?
<Grid.Style>
<Style TargetType="Grid">
<Style.Triggers>
<DataTrigger Binding="{Binding FocusedItem}" Value="number">
<Setter Property="FocusManager.FocusedElement" Value="{Binding ElementName=number}"/>
</DataTrigger>
<DataTrigger Binding="{Binding FocusedItem}" Value="name">
<Setter Property="FocusManager.FocusedElement" Value="{Binding ElementName=name}"/>
</DataTrigger>
<DataTrigger Binding="{Binding FocusedItem}" Value="id">
<Setter Property="FocusManager.FocusedElement" Value="{Binding ElementName=id}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Grid.Style>
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,属性的值和元素的名称是相同的,所以我想在单个触发器上执行此操作,而不是每个元素都有一个触发器.
也许有人可以想出一个更清洁的方式?
提前致谢