我如何从中获得财产:
<ComboBox x:Name="cmbCategory" Grid.Column="1" Grid.Row="5" HorizontalAlignment="Center" PlaceholderText="Categories">
<ComboBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock TextWrapping="Wrap" Width="100%" Text="{Binding name}" />
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
因为下面的代码不起作用,因为我没有'Content'属性,所以我只有'name'属性。那我怎样才能从name
属性获得价值?
string categories= (cmbCategory.Items[cmbCategory.SelectedIndex] as ComboBoxItem).Content.ToString();
答案 0 :(得分:0)
我明白了。
我用过这个:
public object GetPropertyValue(object car, string propertyName)
{
return car.GetType().GetProperties()
.Single(pi => pi.Name == propertyName)
.GetValue(car, null);
}
来源:How to get a property value based on the name
然后我就这样使用它:
string categories= GetPropertyValue(cmbCategory.Items[cmbCategory.SelectedIndex], "name").ToString();
它有效,谢谢大家的帮助。