Silver Light ComboBox选择的价值

时间:2014-09-29 07:26:04

标签: c# wpf xaml silverlight

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

这是我的SelectedProperty

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

在My ViewModel构造函数中,我将其设置为

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

但ComboBox出现时没有任何选定的值(即空白)。 我也尝试使用Name属性而不是Tag但没有运气

1 个答案:

答案 0 :(得分:1)

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

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