私は自分の問題についてのトリックまたは解決策を探しています。多分、あなたのうちの一人が何らかのアドバイスをしてくれますか?コンボボックスが開いている場合にのみ複雑なアイテムの説明を表示する方法WPF
STRUCTURE
は、だから私は以下のようにコードで私のコンボボックスがあります。
<GridViewColumn Header="{lex:LocText CurrentWordCode}" controls:CustomColumnInfo.Name="CurrentWordCode">
<GridViewColumn.CellTemplate>
<DataTemplate>
<ComboBox x:Name="ToolsComboBox" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,0,0,0"
SelectedItem="{Binding SelectedCurrentWord}" ItemsSource="{Binding AvailbleWords}" DisplayMemberPath="Item1" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="{lex:LocText CurrentWordName}" DisplayMemberBinding="{Binding SelectedCurrentWord.Item2}"
controls:CustomColumnInfo.Name="CurrentWordName"/>
その後SelectedCurrentWordは
private Tuple<string,string, string> _SelectedCurrentWord;
public Tuple<string,string, string> SelectedCurrentWord
{
get { return _SelectedCurrentWord; }
set { _SelectedCurrentWord = value;
OnPropertyChanged("SelectedCurrentWord");
}
}
であり、私はこのような上記のオブジェクトを作成しています:
SelectedCurrentWord = new Tuple<string, string, string>(CurrentWordCode, CurrentWordName, CurrentWordCode + " - " + CurrentWordName)
そしてItemSourceは、このようなものです:今、画像の最初の列はコード(タプルの最初の文字列)と第二が含まれてい
:RIGHT NOW
AvailbleWords = new List<Tuple<string, string, string>>();
列には名前(タプルの2番目の文字列)が含まれます。私の問題は、コンボボックスからアイテムを選択しているユーザーは、コードだけが表示されているのでアイテムが選択されていることを認識していませんが、アイテムの名前は認識していません。
PURPOSE
私の目的はCurrentWordCodeの列、ユーザーがコードを見ている、とCurrentWordNameで列ユーザがこの項目の名前を見ているということです。これは今のところ行われます。しかし、ユーザーがcomboxをクリックすると、 "Code" + " - " + "Name"のような形式でアイテムを表示したいと思います。
そのため、私はタプル構造の3番目のアイテムを作成しましたが、 "コード" + " - " + "名前"ですが、問題はコンボボックスのアイテムを選択してコンボボックスを開き、コンボボックスもこの形式ですが、ただ "コード"が必要です。
申し訳ありませんが、私が探しているものが明確でない場合は、質問してください。助けを求めるアドバイスをありがとう。よろしくお願いします。
[本](http://stackoverflow.com/questions/8279107/different-template-for-items-in-comboboxs-drop-down-list-and-の重複のように見えます選択されたアイテム)。テンプレートセレクターで簡単に解決できます。また、ドロップダウンリスト項目も*美しくすることができます。 – Sinatr