0
私はComboBox.SelectedItem.ToString()
がうまくいくと思っていましたが、常にこの文字列を返しています:Windows.UI.Xaml.Controls.ComboBoxItem
、選択した項目の内容は異なります。ComboBox.SelectedItemのコンテンツを取得するには?
私はComboBox.SelectedItem.ToString()
がうまくいくと思っていましたが、常にこの文字列を返しています:Windows.UI.Xaml.Controls.ComboBoxItem
、選択した項目の内容は異なります。ComboBox.SelectedItemのコンテンツを取得するには?
これは単純なものです。 ComboboxItem
のSelectedアイテムのdataContext
が探しています。これを取得するには、
SelectionChanged
イベントを作成します。object sender
とEventArgs e
)が提供される予定です。sender
をコンボボックス(var container = sender as ComboBox
)にキャストします。comboboxItem
(var selected = container.SelectedItem as ComboBoxItem
)として引き出します。if (selected != null)
{
var dataYouNeed = selected.DataContext as TypeYouDefined; //(string or a class)
if (dataYouNeed != null)
{
//Do your stuff here
}
}
あなたが直接コンボボックスへのアクセス権を持っている場合は、イベントを必要としません。 以下のコードに従ってください。
var selected = MyComboBox.SelectedItem as ComboBoxItem;
if(selected!=null)
{
var dataYouNeed = selected.DataContext as TypeOfDataYouDifined; //string or some Class
if(dataYouNeed!=null)
{
//do your stuff here...
}
}
コンボボックスのSelectedItem.ValueまたはSelectedValueを確認する必要があります。 –
ComboBoxからのシンプルテキストの場合、 '(comboBox.SelectedItem as ComboBoxItem).Content.ToString()'を使用します。 – AVK