跟我一起玩WPF-绑定模式

来源:转载

    在上篇博客中,小编已经跟大家说了,要一起来认识几个数据绑定的模式。为了保持整篇文章的收视率,小编才不会把它放在博客的前边~

 

正题正题

 

    继我上篇博客中通过滑动来改变字体的大小。我们继续延伸。秉持着全心全意为人民服务的理念,我们想到,是不是有的用户需要特定值,来避免每次滑动调节字体大小。

于是我又改了一下界面给它多了一个按钮,让按钮也能控制字体的大小。

为了简化整个界面我做成了如下的样子。

                           

 

xaml代码如下

<span style="font-family:KaiTi_GB2312;font-size:18px;"><Window x:Class="DataBinding.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="335"> <Grid> <Slider Name="sliderFontSize" Margin="3" Minimum="1" Maximum="40" Value="10" TickFrequency="1" IsSnapToTickEnabled="True" TickPlacement="TopLeft"></Slider> <TextBlock Margin="60,60,60,160" FontSize="{Binding ElementName=sliderFontSize,Path=Value,Mode=OneWay}" Name="lblText" Text="示例"/> <StackPanel Orientation="Horizontal" > <Button Margin="55,110,0,100" Padding="15" Click="cmd_SetCommon">固定值</Button> </StackPanel> </Grid></Window></span>


 

   当然我们看到点击按钮也会触发一个这样的事件。需要写在类里面。按一下F7,写代码如下:

 

<span style="font-family:KaiTi_GB2312;font-size:18px;"> private void cmd_SetCommon(object sender, RoutedEventArgs e) { lblText.FontSize = 20; } </span>

 

    来我们先滑动一下滚动条,字体是跟着变化的。在点击一下按钮,发现字体也是和我们设想的一样进行了改变,但是当我们再次拖滚动条的时候,却发现它没有变化了。

 

    上面的代码直接设置文本框字体尺寸,因此滑动条的位置没有进行相应的更新。更糟的是,上面的代码破坏了字体尺寸绑定,并且使用了一个自面值代替了绑定。如果现在在移动滑动条上的滑块,文本根本不会相应的进行改变。

 

    这就涉及今天要跟大家说到的几个有趣的绑定方式:我们看到上面这种是单向绑定,也就是OneWay。下面认识一种双向的绑定:从源到目标已经从目标到源。技巧就是设置Binding对象的Mode属性。来看一下变化。

 

    效果大家可以自己运行看一下,会发现我们点击按钮的时候,字体和滑动轮都会跟着变化。同样,滑动滑轮,字体也会变化了。 这就是双向绑定模式的应用。

 

此外,其他的几种模式也是非常的简单。列举一下属性,写需。

 

 

 

总结:

    通过这篇博客,主要也是让大家和我一起了解一下强大的封装,省去了我们很多用来写控制界面和界面逻辑的代码。越来越觉得WPF更像是一个工具。而它的各个语法也就是他的命令,我们只需要懂它可以实现什么,到时候再去查呗。

 

 



分享给朋友:
您可能感兴趣的文章:
随机阅读: