Событие нажатия RibbonSplitButton - PullRequest
0 голосов
/ 10 августа 2011

Gentelman,

Я связываю коллекцию с RibbonSplitButton (в основном, показывая 3 значения: красный, зеленый, синий) Все работает отлично, кроме проблемы, которую я должен выяснить, какой цвет (элемент) имеетбыл выбран:

Вот мой код:

<r:RibbonSplitButton Name="TagEm" 
    LargeImageSource="Images\pencil_32.png"
    Label="Tag"
    ItemsSource="{Binding Path=TagCollection}"
    Click="TagEm_Click">
    <r:RibbonSplitButton.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding Descr}" />
        </DataTemplate>
    </r:RibbonSplitButton.ItemTemplate>
</r:RibbonSplitButton>

Код позади:

private void TagEm_Click(object sender, RoutedEventArgs e)
{
}

Что-то вроде (Tag)TagEm.Items.CurrentItem;

Может кто-нибудь дать мне подсказку, пожалуйста?

Заранее большое спасибо!

N.

1 Ответ

0 голосов
/ 10 августа 2011

Не используйте событие Click RibbonSplitButton. Вместо этого используйте событие TextBox MouseLeftButtonUp.

XAML:

<r:RibbonSplitButton
    Name="TagEm"
    LargeImageSource="Images\pencil_32.png"     
    Label="Tag"     
    ItemsSource="{Binding Path=TagCollection}">
    <r:RibbonSplitButton.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding}" MouseLeftButtonUp="TextBlock_MouseLeftButtonUp" />
        </DataTemplate>
    </r:RibbonSplitButton.ItemTemplate>
</r:RibbonSplitButton>

Обработчик событий:

private void TextBlock_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
    Tag clickedTag = (sender as TextBlock).DataContext as Tag;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...