我对这件可能微不足道的事情感到困惑。DevExpresses
我在类的后代上有我的自定义属性LayoutGroup
(不应该有任何区别 IMO):
public class ExpandableLayoutGroup : LayoutGroup
{
public static readonly DependencyProperty IsExpandedProperty = DependencyProperty.Register("IsExpanded", typeof(Boolean), typeof(ExpandableLayoutGroup));
public Boolean IsExpanded
{
get { return (Boolean) GetValue(IsExpandedProperty); }
set
{
expandCheckBox.IsChecked = value;
SetValue(IsExpandedProperty, value);
}
}
}
然后我将 XAML 绑定到名为listStates
.
<ExpandableLayoutGroup x:Name="groupTool" IsExpanded="{Binding SelectedValue.IsTool, ElementName=listStates}" DataContext="{Binding Tool}" Header="Tool" View="GroupBox" />
绑定到 listStates 的对象列表包含两个属性(简化):
public class State
{
public Boolean IsItemTool { get; private set; }
public Tool Tool { get; private set; }
}
我错过了一些明显的东西吗?因为我希望当我更改列表框选择(单个)时,它也会更新IsExpanded
组上的属性。我有更多工具绑定的子属性(如 所示DataContext="{Binding Tool}"
)并且更新得很好。因此,DataContext
在列表框选择上正确更改。除了这个属性IsExpanded
(应该展开/折叠布局组)。
我在做什么错,以及如何做到这一点,当列表框更改时,IsExpanded
将轮询绑定以从中获取值IsTool
,并将设置它(取决于选择)。