我想为 XamDataGrid 的字段设置 样式 ,以设置字段的 AllowEdit 属性 转换器 使用某些条件。 我正在尝试这个但不适合我。
<Style TargetType="{x:Type igWPF:Field}">
<Style.Setters>
<Setter Property="AllowEdit" Value="{Binding Path=Field, Source={RelativeSource Self}, Converter={StaticResource FieldsEditableConverter}}">
</Setter>
</Style.Setters>
</Style>
请提供一些代码。
答案 0 :(得分:0)
Infragistics说:“一旦使用WPF样式,你就无法修改它们。”
因为我正在寻找稍微相同的东西(XamDataGrid,Field,Style,Setter修改只是以编程方式访问setter)但我无法做到。我找到了以下信息:
此异常与Infragistics控件无关。使用WPF样式后,您无法修改它们。如果要以编程方式创建样式,则应从头开始创建样式,而不是尝试修改现有样式对象。
http://www.infragistics.com/community/forums/t/13909.aspx
尽管您无法动态修改它,但是,根据我的具体情况,我最终使用了x:目标setter在需要时使用的Style的名称:所以就在它必须修改列表之前(CanExecute)。
这就是我的代码的样子:
C#:
var cm = uc.Resources["fiContextMenu"] as ContextMenu;
foreach(MenuItem mi in cm.Items)
if(mi.Header.Equals("Remove File"))
mi.IsEnabled = false; //Disallow remove when empty list
Xaml:
<igDP:FieldSettings.EditorStyle>
<Style TargetType="{x:Type igEditors:XamComboEditor}">
<Setter Property="ContextMenu" Value="{StaticResource fiContextMenu}" />