组合框上的触发器SelectedValue不起作用

问题描述 投票:0回答:1

您好,我有一个要根据组合框的selectedvalue更改文本框宽度的文本框

这是我的代码

<hc:ComboBox
        Name="cmbService"
        DisplayMemberPath="Name"
        SelectedValue="IsCustomAvailable" 
        ItemsSource="{Binding DataServer}">
</hc:ComboBox>

当选定的项目更改时,我可以看到selectedvalue有一些值并且可以很好地工作,但是在触发器中不起作用

<TextBox>
        <TextBox.Style>
            <Style TargetType="TextBox">
                <Setter Property="Width" Value="400" />
                <Style.Triggers>
                <DataTrigger Binding="{Binding SelectedValue, ElementName=cmbService}" Value="True">
                    <Setter Property="Width" Value="280" />
                </DataTrigger>
            </Style.Triggers>
            </Style>
        </TextBox.Style>
</TextBox>
c# wpf data-binding
1个回答
0
投票

如果要以此方式使用SelectedValueComboBox属性,则应使用SelectedValuePath指定要使用IsCustomAvailable的属性。

<ComboBox x:Name="cmbService"
          DisplayMemberPath="Name"
          ItemsSource="{Binding DataServer}"
          SelectedValuePath="IsCustomAvailable"/>

您还应将SelectedValue="IsCustomAvailable"标记替换为SelectedValue="true"或将其删除以使类型与bool保持一致。

© www.soinside.com 2019 - 2024. All rights reserved.