在usercontrol项目内的标签上单击事件

时间:2010-12-18 15:45:00

标签: wpf xaml

你好我试图在用户控件内的文本块上创建一个单击文本块事件, 使用按钮很简单,使用主窗口上的buttonbase属性,但在这里 我不知道该怎么做我会告诉你我的代码: 这是我的用户控件:

 <Border BorderBrush="Purple" BorderThickness="3" CornerRadius="3" Margin="3" >
    <DockPanel>
        <Grid DockPanel.Dock="Left">
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto"/>
                <ColumnDefinition Width="120"/>
            </Grid.ColumnDefinitions>
            <Label Foreground="Blue">Message Number:</Label>
            <Label Foreground="Blue" Grid.Row="1">Title:</Label>
            <Label Foreground="Blue" Grid.Row="2">Message Date:</Label>
            <Label Foreground="Blue" Grid.Row="3">Contact Mail:</Label>
            <Label Foreground="Blue" Grid.Row="4">Message Type:</Label>
            <Label Foreground="Blue" Grid.Row="5">Message Details:</Label>
            <Label x:Name="lblMessageNum" Grid.Column="1"></Label>
            <Label x:Name="lblTitle" Grid.Column="1" Grid.Row="1"></Label>
            <Label x:Name="lblMessageDate" Grid.Column="1" Grid.Row="2"></Label>
            <Label x:Name="lblContactMail" Grid.Column="1" Grid.Row="3"></Label>
            <Label x:Name="lblMessageType" Grid.Column="1" Grid.Row="4"></Label>
            <Label x:Name="lblMessageDetails" Grid.Column="1" Grid.Row="5"></Label>
        </Grid>
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
            </Grid.RowDefinitions>
            <TextBlock  Margin="23,0,0,0" x:Name="tbkRemove">
                <Underline>Remove Message</Underline>
                <TextBlock.Style>
                    <Style TargetType="TextBlock">
                        <Setter Property= "Foreground" Value="Blue"/>
                        <Style.Triggers>
                            <Trigger Property ="IsMouseOver" Value="True">
                                <Setter Property= "Foreground" Value="Red"/>
                            </Trigger>
                       </Style.Triggers>
                    </Style>
                </TextBlock.Style>
            </TextBlock>
            <Border Grid.Row="1"  BorderBrush="Purple" CornerRadius="3" BorderThickness="3" Margin="23,10,6,0">
                <Image x:Name="ImgPic" Width="102" Height="110"></Image>
            </Border>


        </Grid>
    </DockPanel>
</Border>

在这个usercontrol里面我得到了tbkRemove文本块,它应该有一个事件从主窗口中删除它(所有用户控件)所以click事件的代码应该在主窗口上,但我怎么能做这样的事件 在此先感谢您的帮助

1 个答案:

答案 0 :(得分:2)

我使用表达式混合器创建了一个看起来像文本块的新按钮,因此我可以使用按钮库将其冒泡。