У меня есть страница XAML, содержащий ItemControl тег (приложение использует структуру MVVM света):ItemControl не связывающие объекты правильно
<ItemsControl MinWidth="100" MinHeight="25" ItemsSource="{Binding Path=Options}" HorizontalAlignment="Left" d:LayoutOverrides="Height" Margin="10,0">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
Этот элемент управления имеет источник элементов, который является списком Опционные объекты. Шаблон данных для этого элемента управления элементом выглядит следующим образом:
<DataTemplate DataType="{x:Type Sales:Option}">
<local:SalesOptionButton d:LayoutOverrides="Width, Height" DataContext="{Binding}"/>
</DataTemplate>
У меня есть модель представления, связанная с контролем SalesOptionButton, который выглядит следующим образом:
общественного класс SalesOptionButton { частной строка _name; частный вариант _Option;
public ICommand SelectedOptionButtonCommand { get; set; }
public string Name
{
get { return _name; }
set { SetStructPropertyValue(ref _name, value); }
}
public Option Option
{
get { return _scriptOption; }
set { SetPropertyValue(ref _scriptOption, value); }
}
public SalesScriptOptionButton(ScriptOption option)
{
Option = option;
Name = option.OptionText;
}
protected override void RegisterForMessages()
{
SelectedOptionButtonCommand = new RelayCommand(OptionButtonSelected);
}
private void OptionButtonSelected()
{
MessengerService.Send(ScriptOptionSelectedMessage.Create(ScriptOption));
}
protected override void SetDesignTimeInfo(){}
}
Вот XAML для контроля Опция:
<UserControl [INCLUDES]>
<Button Height="25" Padding="1" MinWidth="100" Content="{Binding Name}" Command="{Binding SelectedOptionButtonCommand}"/>
</UserControl>
Что это делает, для каждого варианта, который находится в источнике данных, кнопка создается. Эти кнопки должны отображать имя параметра и, когда нажимается кнопка, отправить сообщение в основное приложение, которое будет обрабатывать этот клик (установить выбранный вариант).
Проблема, которую я вижу, заключается в том, что кнопки создаются, но ничто другое не связано (на кнопке не отображается имя опции, и кнопка не работает). Может ли кто-нибудь дать мне представление о том, почему это не работает, как я думаю, что это должно быть?
, где вы определяете: '' –