Как отличить Mouse.Clicks от другой части элемента управления - PullRequest
0 голосов
/ 06 августа 2010

Если у меня есть элемент управления с шаблоном, подобным этому:

 <Style x:Key="HomeButtonStyle" TargetType="{x:Type Control}" >
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate>
                <StackPanel VerticalAlignment="Top">
                    <Rectangle Width="20" Height="50" x:Name="PART_Rectangle" />
                    <ed:RegularPolygon x:Name="PART_Triangle" PointCount="3" 
                           Height="8" >
                    </ed:RegularPolygon>
                </StackPanel>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

Теперь, как вызвать какое-то событие, когда щелкнул элемент PART_Rectangle?И как это будет отличаться от кликов на PART_Triangle?

1 Ответ

0 голосов
/ 06 августа 2010

Ой ... Я разобрался.например вот так:

     private void Control_MouseDown(object sender, MouseButtonEventArgs e)
    {
       if( ((FrameworkElement)(e.OriginalSource)).Name == "PART_Rectangle")
       {
           //RectangleMouseDown 
      }
    }
...