潜移默化学会WPF(转载篇)--屏幕显示Label,鼠标移上去变成textBox

<Window x:Class="WpfApplication1.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" Loaded="Window_Loaded">
    <Window.Resources>
        <Style x:Key="LabelTemp" TargetType="Label">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="Label">
                        <Grid >
                            <TextBox x:Name="tb" Text="{TemplateBinding Content}" Visibility="Hidden"  Width="40" Height="20" 
                                      HorizontalAlignment="Center" VerticalAlignment="Top"  FontSize="12"></TextBox>
                            <Label x:Name="labReal" Content="{TemplateBinding Content}" Width="40" Height="30" 
                                  HorizontalAlignment="Center" VerticalAlignment="Top"  FontSize="12" ></Label>
                        </Grid>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsMouseOver" Value="true">
                                <Setter TargetName="tb" Property="Visibility" Value="Visible">
                                </Setter>
                                <Setter TargetName="labReal" Property="Visibility" Value="Hidden"></Setter>
                            </Trigger>
                            <Trigger Property="IsMouseOver" Value="false">                                
                                <Setter TargetName="labReal" Property="Content" Value="{Binding ElementName=tb,Path=Text}"></Setter>
                            </Trigger>

                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </Window.Resources>
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="104*" />
            <ColumnDefinition Width="174*" />
        </Grid.ColumnDefinitions>
        <Label Name="lab" Style="{StaticResource LabelTemp}" VerticalAlignment="Top">Demo Label
        </Label>
    </Grid>
</Window>

原文地址  http://topic.csdn.net/u/20090324/14/349de2ff-f12e-4d7a-8a37-ca3318b63b51.html

posted @ 2012-05-17 10:35  AYUI框架  阅读(1241)  评论(0编辑  收藏  举报