Bre*_*ent 3 wpf resourcedictionary
感谢您的想法,以帮助相对的初学者了解WPF。
我试图在WAML应用程序的XAML文件中使用以下样式模板:
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary>
<Style TargetType="{x:Type RowDefinition}" x:Key="hideIfNotDischarged">
<Style.Triggers>
<DataTrigger Binding="{Binding DischargedBy28Days, Mode=OneWay}" Value="false">
<Setter Property="Height" Value="0" />
</DataTrigger>
</Style.Triggers>
</Style>
<Style TargetType="{x:Type RowDefinition}" x:Key="hideIfOutcomeKnownAndAlive">
<Style.Triggers>
<DataTrigger Binding="{Binding IsKnownDead, Mode=OneWay}" Value="false">
<Setter Property="Height" Value="0" />
</DataTrigger>
</Style.Triggers>
</Style>
</ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
Run Code Online (Sandbox Code Playgroud)
稍后将在像这样的网格中使用:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="30" />
<RowDefinition Style="{StaticResource hideIfNotDischarged}" />
...
Run Code Online (Sandbox Code Playgroud)
但是,如果有多个针对Type RowDefinition的样式元素,并且ResourceDictionary嵌套在MergedDictionary中(即使仅合并了一个子ResourceDictionary),则应用程序将失败
System.Windows.ResourceDictionary.DeferrableContent:项目已添加
也就是说,尽管这两种样式具有不同的键,但是资源字典试图添加名称完全基于目标类型的字典项(并忽略键)。
我将如何克服这些问题方面的任何帮助将不胜感激。
Xaml解析所以我觉得它的检查从左到右ResourceDictionary或其他MergedDictionaries如果TargetType(如果没有X默认标识:使用密钥)存在,它实现它的前x:Key标识
尝试将设置x:Key为TargetType。
这可能是Xaml解析器中的错误,也可能是设计使然,可能值得一看Microsoft Connect
| 归档时间: |
|
| 查看次数: |
2286 次 |
| 最近记录: |