Изменить свойство ListBox.ItemsSource Binding на Button.Click?

Быстрый вопрос...

У меня есть ListBox с его ItemsSource свойством, привязанным к свойству коллекции в модели представления следующим образом:

<ListBox Name="CollectionsListBox" ItemsSource="{Binding Activity.Timesheets}" />

У меня также есть два Button объекта в том же представлении. Вопрос в том, могу ли я изменить CollectionsListBox ItemsSource Binding с Activity.Timesheets на Activity.Attachments, используя только XAML?

Если нет, то из вью-модели, используя объекты Command?

EDIT >>>

Я нашел простое решение, используя RadioButtons вместо Buttons из части ответа Говарда:

<ListBox Name="CollectionsListBox">
    <ListBox.Style>
        <Style>
            <Style.Triggers>
                <DataTrigger Binding="{Binding ElementName=TimesheetsButton,Path=IsChecked}" Value="True">
                    <Setter Property="ListBox.ItemsSource" Value="{Binding Activity.Timesheets}" />
                    <Setter Property="ListBox.ItemContainerStyle" Value="{StaticResource TimesheetStyle}" />
                </DataTrigger>
                <DataTrigger Binding="{Binding ElementName=AttachmentsButton,Path=IsChecked}" Value="True">
                    <Setter Property="ListBox.ItemsSource" Value="{Binding Activity.Attachments}" />
                    <Setter Property="ListBox.ItemContainerStyle" Value="{StaticResource AttachmentStyle}" />
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </ListBox.Style>
</ListBox>

Большое спасибо за помощь.

9
задан H.B. 28 January 2012 в 16:02
поделиться