Silver Light组合框选定值

本文关键字:Light 组合 Silver | 更新日期: 2023-09-27 18:24:58

我在silverlight应用程序中有一个组合框,我有一个复选框和一个文本框,我必须设置组合框的选定值,但它没有被选中,我正在关注此链接,但它不起作用这是我的ComboBox

<ComboBox x:Name="Types" SelectedValue="{Binding SelectedType, Mode=TwoWay}"  VerticalAlignment="Top" Margin="2,8,-2,0" Grid.ColumnSpan="3" Height="28" Padding="3">                        
    <ComboBoxItem Tag="All">
        <Grid HorizontalAlignment="Stretch">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="20"/>
                <ColumnDefinition Width="*" MinWidth="105" />
                <ColumnDefinition Width="60" />
            </Grid.ColumnDefinitions>
            <CheckBox  Name="all" VerticalAlignment="Center" Grid.Column="0"/>
            <TextBlock Text="All" VerticalAlignment="Center" Grid.Column="1" Style="{x:Null}" FontSize="11"/>                            
        </Grid>
    </ComboBoxItem>
    <ComboBoxItem Tag="General">
        <Grid HorizontalAlignment="Stretch">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="20"/>
                <ColumnDefinition Width="*" MinWidth="105" />
                <ColumnDefinition Width="60" />
            </Grid.ColumnDefinitions>
            <CheckBox Name="General" VerticalAlignment="Center" Grid.Column="0" />
            <TextBlock Text="General" VerticalAlignment="Center" Grid.Column="1" Style="{x:Null}" FontSize="11"/>
            <TextBox Text="180" VerticalAlignment="Center" Grid.Column="2" FontSize="11" Padding="2" HorizontalContentAlignment="Right"/>
        </Grid>
    </ComboBoxItem>
</ComboBox>

这是我的精选房地产

private string _selectdType = "";
public string SelectedType
{
    get { return _selectdType; }
    set
    {
        _selectdType = value;
        MessageBox.Show(_selectdType);
        NotifyOfPropertyChange("SelectedType");
    }
}

在我的ViewModel构造函数中,我将其设置为这样的

public MyViewModel()
{
    SelectedType="All";
}

但是组合框显示时没有任何选定的值(即空白)。我也尝试了使用Name属性而不是Tag,但没有成功

Silver Light组合框选定值

您需要为SelectedValue设置SelectedValuePath属性才能正常工作:

<ComboBox x:Name="Types" 
          SelectedValuePath="Tag"
          ......
          >
    ......
</ComboBox>