0

我为组合框添加了触发器,即

  • 当组合框为“禁用”时,“文本”属性应设置为“1”并将 updatesourcetrigger 添加到属性更改。

  • 当组合框为“启用”时,应选择“文本”属性,并将更新源触发器添加到属性更改。

但问题是当组合框被禁用并且“文本”属性设置为“1”时,我无法调用更新源触发器。

下面是 XAML 代码片段:

<ComboBox Name="cmbIntervals"
                        Grid.Row="5"
                        Grid.Column="1"
                        Width="150"
                        HorizontalAlignment="Left"
                        VerticalAlignment="Top"
                        IsEnabled="{Binding ElementName=chkRollingInterval,
                                              Path=IsChecked}"
                        ItemsSource="{Binding Source={x:Static es:MasterParameters.Instance},
                                                Path=NoOfIntervals}" 
                        Tag="{Binding Path=[NoOfIntervals], Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
                        >
                  <ComboBox.Style>
                    <Style TargetType="{x:Type ComboBox}">
                      <Style.Triggers>
                        <Trigger Property="IsEnabled" Value="False">
                        <Setter Property="Text" Value="1"/>
                        <Setter Property="Text" Value="{Binding RelativeSource={RelativeSource Self}, Path=Tag, Mode=TwoWay, UpdateSourceTrigger=Default}"/>
                      </Trigger>
                      <Trigger Property="IsEnabled" Value="True">
                        <Setter Property="Text" Value="{Binding RelativeSource={RelativeSource Self}, Path=Tag, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
                      </Trigger>
                      </Style.Triggers>
                   </Style>
                </ComboBox.Style>
              </ComboBox>

从上面的 XAML 代码中,当我将组合框“禁用”模式的“文本”属性更新为“1”时,我需要将此“1”值更新为源属性,即“标签”,然后从那里更新为“NoOfIntervals”,但它没有没有发生。

谢谢,纳格

4

0 回答 0