WPF Rectangle не имеет события Click

Похоже, что WPFПрямоугольник форма не имеет определенного события Click. Что я должен использовать вместо этого?

У него есть MouseUp, но поведение не совсем такое.

Ответы на вопрос(4)

Постучал, который работает отлично. В разработке универсальных приложений для Windows 8.1 появляются новые события. Постучал, DoubleTaped, RightTapped и удержание.

это предложение просто вставить интересующий объект в ContentControl.

Вот их пример (с рамкой, которая также не поддерживает щелчок / двойной щелчок).

<ContentControl MouseDoubleClick="OnDoubleClick">
    <Border Margin="10" BorderBrush="Black" BorderThickness="2">
        <Grid Margin="4">
            <Rectangle Fill="Red" />
            <TextBlock Text="Hello" FontSize="15" />
        </Grid>
    </Border>
</ContentControl>
 22 сент. 2014 г., 23:51
Это работало как чемпион. Просто и по существу. +1

вы можете использоватьInputBindings имущество:

<Rectangle Fill="Blue" Stroke="Black">
    <Rectangle.InputBindings>
        <MouseBinding Gesture="LeftClick" Command="{Binding FooCommand}"/>
    </Rectangle.InputBindings>
</Rectangle>

Это приведет к выполнению FooCommand при нажатии на прямоугольник. Удобно, если вы используете MVVM!

 M. Dudley09 сент. 2011 г., 15:13
Это .NET 4, или он также работает в .NET 3.5?
 12 сент. 2011 г., 15:49
Он доступен в .NET 3.5:msdn.microsoft.com/en-us/library/…
 M. Dudley12 сент. 2011 г., 17:33
Этот ответ не работает в .NET 3.5, только в .NET 4 и более поздних версиях. В .NET 3.5 свойство Command не зарегистрировано как свойство зависимости, поэтому его нельзя установить на привязку. Смотрите мой вопрос наstackoverflow.com/questions/1427638/…
Решение Вопроса

MouseDown а такжеMouseUp, возможно, вы могли бы просто поставитьRectangle вButton и обрабатыватьButton& APOS; sClick событие?

<Button>
    <Button.Template>
        <ControlTemplate>
            <Rectangle .../>
        </ControlTemplate>
    </Button.Template>
</Button>

Это действительно зависит от поведения, за которым вы следите. Пожалуйста, уточните, если это необходимо.

 M. Dudley01 июл. 2009 г., 14:52
Это, наверное, то, что я хочу.

Ваш ответ на вопрос