我有一个单选按钮控件和一些相关控件,我希望根据选择的单选按钮启用或禁用它们。
要执行此操作,我正在尝试使用IsEnabled
绑定LayoutGroup
上的{Binding IsSelected, ElementName=radioButtonControlName}
。它不起作用。
我的XAML看起来像这样
<Grid>
<dxlc:LayoutGroup Orientation="Horizontal">
<dxe:ListBoxEdit ShowBorder="False" StyleSettings="{dxe:RadioListBoxEditStyleSettings}" HorizontalContentAlignment="Stretch">
<dxe:ListBoxEditItem Name="radioButtonA" IsSelected="{Binding IsASelected, NotifyOnSourceUpdated=True, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}">
<dxlc:LayoutGroup>
<dxlc:LayoutItem Label="A">
<dxlc:LayoutGroup Name="aLayoutGroup" IsEnabled="{Binding IsSelected, ElementName=radioButtonA}">
<dxlc:LayoutItem Label="Date A">
<dxe:DateEdit EditValue="{Binding DateA, NotifyOnSourceUpdated=True, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}"/>
</dxlc:LayoutItem>
<dxlc:LayoutItem Label="Text A">
<dxe:TextEdit EditValue="{Binding TextA, NotifyOnSourceUpdated=True, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}"/>
</dxlc:LayoutItem>
</dxlc:LayoutGroup>
</dxlc:LayoutItem>
</dxlc:LayoutGroup>
</dxe:ListBoxEditItem>
<dxe:ListBoxEditItem Name="radioButtonB" IsSelected="{Binding IsASelected, NotifyOnSourceUpdated=True, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}">
<dxlc:LayoutGroup>
<dxlc:LayoutItem Label="B">
<dxlc:LayoutGroup Name="bLayoutGroup" IsEnabled="{Binding IsSelected, ElementName=radioButtonB}">
<dxlc:LayoutItem Label="Date B">
<dxe:DateEdit EditValue="{Binding DateB, NotifyOnSourceUpdated=True, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}"/>
</dxlc:LayoutItem>
<dxlc:LayoutItem Label="Text B">
<dxe:TextEdit EditValue="{Binding TextB, NotifyOnSourceUpdated=True, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}"/>
</dxlc:LayoutItem>
</dxlc:LayoutGroup>
</dxlc:LayoutItem>
</dxlc:LayoutGroup>
</dxe:ListBoxEditItem>
</dxe:ListBoxEdit>
</dxlc:LayoutGroup>
</Grid>
顺便说一下,如果我将LayoutGroup
移到ListBoxEdit
控件之外,它会按预期工作。那么问题是我不知道如何将单选按钮与从属控件对齐。如果有人可以帮助我正确地调整这些,那么我认为这个解决方案也会有效。
答案 0 :(得分:0)
由于我没有动态生成单选按钮,因此我决定不使用ListBoxEdit
而只是将RadioButton
元素放在我的布局中。我需要将IsSelected
绑定更改为IsChecked
,但除此之外,它的工作原理大致相同。