我在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但没有运气
答案 0 :(得分:1)
您需要为SelectedValuePath
设置SelectedValue
属性才能正常工作:
<ComboBox x:Name="Types"
SelectedValuePath="Tag"
......
>
......
</ComboBox>