留在屏幕上的字

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  38 随笔 :: 1 文章 :: 12 评论 :: 41698 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

路径就是用来设置binding要关联的那个属性

XMAL代码

<StackPanel Background="LightBlue">
<!--案例一-->
<!--写法一-->
<!--<TextBox Margin="5" Height="20" Text="{Binding Path=Value,ElementName=slider}"/>-->
<!--写法二-->
<!--<TextBox x:Name="txtbox1" Margin="5" Height="20" Text="{Binding Path=Value,ElementName=slider}"/>
<Slider x:Name="slider" Minimum="0" Maximum="100" Margin="5"/>-->

<!--案例二-->
<!--<TextBox x:Name="txtbox1" Margin="5"/>
<TextBox x:Name="txtbox2" Margin="5" Text="{Binding Path=Text.Length,ElementName=txtbox1,Mode=OneWay}"/>-->

<!--案例三-->
<TextBox x:Name="txtbox1" Margin="5"/>
<TextBox x:Name="txtbox2" Margin="5" Text="{Binding Path=Text.[3],ElementName=txtbox1,Mode=OneWay}"/>
</StackPanel>

CS代码

public MainWindow()
{
InitializeComponent();
//方案一
//Binding binding = new Binding() {Path = new PropertyPath("Value"), Source = slider};
//写法三
//Binding binding = new Binding("Value") {Source = slider};
//this.txtbox1.SetBinding(TextBox.TextProperty, binding);

}

当使用一个集合或者DataView作为Binding源的时候,我们可以把他的默认元素当作Path来使用

XMAL代码

<TextBox x:Name="txtOne" Margin="5"/>
<TextBox x:Name="txtTwo" Margin="5"/>
<TextBox x:Name="txtThree" Margin="5"/>

CS代码

List<string> list = new List<string>() {"aaa", "bb", "c"};
this.txtOne.SetBinding(TextBox.TextProperty, new Binding("/") {Source = list});
this.txtTwo.SetBinding(TextBox.TextProperty, new Binding("/Length") { Source = list ,Mode = BindingMode.OneWay});
this.txtThree.SetBinding(TextBox.TextProperty, new Binding("/[1]") { Source = list, Mode = BindingMode.OneWay });

 没有Pa他还的Binding

XMAL代码

<Window x:Class="没有Path的Binding.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
Title="MainWindow" Height="350" Width="525">
<StackPanel Background="LightBlue">
<StackPanel.Resources>
<sys:String x:Key="s">
dfdsfdsfdsfsdfsdfsdfsdfsdfsdfsd
</sys:String>
</StackPanel.Resources>
<TextBlock Text="{Binding Path=.,Source={StaticResource ResourceKey=s}}"/>
</StackPanel>
</Window>

 

posted on   简单点,再简单点  阅读(2008)  评论(0编辑  收藏  举报
编辑推荐:
· 对象命名为何需要避免'-er'和'-or'后缀
· SQL Server如何跟踪自动统计信息更新?
· AI与.NET技术实操系列:使用Catalyst进行自然语言处理
· 分享一个我遇到过的“量子力学”级别的BUG。
· Linux系列:如何调试 malloc 的底层源码
阅读排行:
· JDK 24 发布,新特性解读!
· C# 中比较实用的关键字,基础高频面试题!
· .NET 10 Preview 2 增强了 Blazor 和.NET MAUI
· Ollama系列05:Ollama API 使用指南
· 为什么AI教师难以实现
                                                                              多交流,多思考
点击右上角即可分享
微信分享提示