代码之家  ›  专栏  ›  技术社区  ›  Edward Tanguay

如何把一个老鼠镇的活动变成一种风格?

  •  12
  • Edward Tanguay  · 技术社区  · 15 年前

    这工作:

    XAML(XAML):

    <Window x:Class="Test239992.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Window1" Height="300" Width="300">
        <StackPanel>
            <TextBlock Tag="1" Text="Customers" MouseDown="Handle_Click"/>
            <TextBlock Tag="2" Text="Appointments" MouseDown="Handle_Click"/>
        </StackPanel>
    </Window>
    

    代码隐藏:

    using System;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Input;
    
    namespace Test239992
    {
        public partial class Window1 : Window
        {
            public Window1()
            {
                InitializeComponent();
            }
    
            private void Handle_Click(object sender, MouseButtonEventArgs e)
            {
                int id = Int32.Parse(((TextBlock)sender).Tag.ToString());
                MessageBox.Show("you chose id " + id.ToString());
            }
        }
    }
    

    但是 我该怎么把老鼠镇的活动安排成一种风格呢 ,这给了我 错误 “在类型'System.Windows.Controls.TextBlock'上找不到样式属性'MouseDown'”:

    <Window x:Class="Test239992.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Window1" Height="300" Width="300">
        <Window.Resources>
            <Style TargetType="{x:Type TextBlock}" x:Key="ClickableTextBlockStyle">
                <Setter Property="MouseDown" Value="Handle_Click" />
            </Style>
        </Window.Resources>
        <StackPanel>
            <TextBlock Tag="1" Text="Customers" Style="{DynamicResource ClickableTextBlockStyle}"/>
            <TextBlock Tag="2" Text="Appointments" Style="{DynamicResource ClickableTextBlockStyle}"/>
        </StackPanel>
    </Window>
    
    2 回复  |  直到 15 年前
        1
  •  14
  •   Arcturus    15 年前

    尝试 EventSetter :)

        <Style TargetType="{x:Type TextBlock}" x:Key="ClickableTextBlockStyle">
            <EventSetter Event="MouseDown" Handler="Handle_Click" />
        </Style>