Есть ли хороший способ привязать свойство к значению const в выделенном коде?
Когда я использую ComboBox, я обычно делаю это в xaml и коде:
XAML:
<ComboBox Name="cbBuz">
<ComboBoxItem Content="foo" Uid="foo" IsSelected="true" />
<ComboBoxItem Content="bar" Uid="bar" />
</ComboBox>
Codebehind:
ComboBoxItem item = cbBuz.GetSelectedItem();
switch (item.Uid)
{
case "foo": ... break;
case "bar": ... break;
}
Я выбрал этот способ по следующей причине:
Однако с точки зрения обслуживания внутренний идентификатор должен быть определен в одном месте следующим образом:
//IDs
public const string ID_foo = "foo";
public const string ID_bar = "bar";
...
//
switch (item.Uid)
{
case ID_foo: ... break;
case ID_bar: ... break;
}
Проблема в том, что свойство не может быть константным значением, поэтому нет способа привязать ID_foo и ID_bar к Uid ComboBoxItem, как это :
//If ID_foo and ID_bar are properties, this will work.
<ComboBox Name="cbBuz">
<ComboBoxItem Content="foo" Uid="{Binding ID_foo}" IsSelected="true" />
<ComboBoxItem Content="bar" Uid="{Binding ID_bar}" />
</ComboBox>
Итак, я хочу знать, как решить эту проблему. Или есть лучший способ реализовать это. Было бы тоже неплохо.
Лучшее,