Я работаю с Silverlight 4. Существует ComboBox, который содержит список элементов. Эти элементы имеют «ToString()»:Как определить «Короткое» имя выбранного элемента в заголовке ComboBox
public class SquadFlangViewModel
{
static SquadFlangViewModel()
{
int iFlangValuesCount = (typeof(TacticGameFlangFlangEnum)).GetFields().Length;
Names = new string[iFlangValuesCount];
Names[(int)TacticGameFlangFlangEnum.Usual] = "Равномерно";
Names[(int)TacticGameFlangFlangEnum.Left] = "Левый";
Names[(int)TacticGameFlangFlangEnum.Center] = "Центр";
Names[(int)TacticGameFlangFlangEnum.Right] = "Правый";
Names[(int)TacticGameFlangFlangEnum.Sides] = "Фланги";
Names[(int)TacticGameFlangFlangEnum.LeftAndCenter] = "Левый и Центр";
Names[(int)TacticGameFlangFlangEnum.RightAndCenter] = "Правый и Центр";
ShortNames = new string[iFlangValuesCount];
ShortNames[(int)TacticGameFlangFlangEnum.Usual] = "=";
ShortNames[(int)TacticGameFlangFlangEnum.Left] = "Л";
ShortNames[(int)TacticGameFlangFlangEnum.Center] = "Ц";
ShortNames[(int)TacticGameFlangFlangEnum.Right] = "П";
ShortNames[(int)TacticGameFlangFlangEnum.Sides] = "Ф";
ShortNames[(int)TacticGameFlangFlangEnum.LeftAndCenter] = "ЛЦ";
ShortNames[(int)TacticGameFlangFlangEnum.RightAndCenter] = "ПЦ";
}
public SquadFlangViewModel(TacticGameFlangFlangEnum eVal) { _eVal = eVal; }
public TacticGameFlangFlangEnum Value { get { return _eVal; } }
private static readonly string[] Names;
private static readonly string[] ShortNames;
public override string ToString()
{
return Names[(int)_eVal];
}
public string ShortName
{
get
{
return ShortNames[(int)_eVal];
}
}
}
Вот как я связываю элементы:
<ComboBox ItemsSource="{Binding Flangs, Mode=OneTime}"
SelectedItem="{Binding Flang, Mode=TwoWay}"/>
Проблема, ComboBox в ячейке сетки, что является довольно узким, и я, когда выбран пункт I Would как показать не ДОЛГОЕ описание, а короткое.
Похоже, что я должен указать ComboBox для использования свойства «ShortName», когда элемент отображается как выбранный.
Как я могу указать ComboBox для использования свойства ShortName для отображения выбранного элемента при свертывании ComboBox?
Любые идеи и другая обратная связь очень приветствуются.