0

基本的に私は 2 つの ComboBoxes を持っていisEnabled="false"ますComboBoxe2ComboBoxe1.Selecteditem == null

だから私は以下を作成しましたDataTrigger

    <ComboBox Name="CB1"
              DisplayMemberPath="NameL"
              IsEnabled="{Binding isNew}"
              SelectedItem="{Binding selectedSpTyp}" 
              ItemsSource="{Binding SpTypList}"/>

    <ComboBox Name="CB2"
              DisplayMemberPath="NameD"
              SelectedItem="{Binding selectedDesginvorlage}"
              ItemsSource="{Binding DesginvorlageList}">
        <ComboBox.Style>
            <Style>
                <Setter Property="UIElement.IsEnabled" Value="True"/>
                <Style.Triggers>
                    <DataTrigger Binding="{Binding CB1.SelectedItem, UpdateSourceTrigger=PropertyChanged}" Value="{x:Null}">
                        <Setter Property="UIElement.IsEnabled" Value="False"/>
                    </DataTrigger>
                </Style.Triggers>
            </Style>
        </ComboBox.Style>
    </ComboBox>
4

1 に答える 1

1

が正しく設定されていませBindingん。のaをDataTrigger割り当てたので、名前付きのプロパティの現在の状態を調べてから、そのオブジェクトのプロパティを調べます。また、何も壊すわけではありませんが、このインスタンスでは無意味な設定も含めました(通常は入力コントロールのorバインディングを使用してソースに変更をプッシュするタイミングを決定するために使用されます)。BindingPathCB1.SelectedItemDataContextCB1SelectedItemUpdateSourceTriggerTwoWayOneWayToSource

同じ名前スコープ内の別のコントロールにバインドするにElementNameは、コントロールPathを指定し、プロパティを指定します。

<DataTrigger Binding="{Binding ElementName=CB1, Path=SelectedItem}" Value="{x:Null}">
于 2013-05-16T20:49:17.243 に答える