zoukankan      html  css  js  c++  java
  • WPF之Binding基础十 使用RelativeSource作为Binding的源

      当我们想未一个控件绑定值的时候,我们需要将某个控件的数据绑定到指定的控件上,就可以用RelativeSource。

    XAML代码

    <Window x:Class="使用Binding的RelativeSource.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">
    <Grid x:Name="第一层" Background="LightBlue" Margin="5">
    <DockPanel Name="第二层" Background="Yellow" Margin="10">
    <Grid x:Name="第三层" Background="Green" Margin="20">
    <!--方案一,用cs-->
    <!--<TextBox x:Name="zuihou" FontSize="20" Margin="10"/>-->
    <!--方案二-->
    <TextBox Text="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type Grid},AncestorLevel=1},Path=Name}"/>
    </Grid>
    </DockPanel>
    </Grid>
    </Window>

    CS代码

    namespace 使用Binding的RelativeSource
    {
    /// <summary>
    /// MainWindow.xaml 的交互逻辑
    /// </summary>
    public partial class MainWindow : Window
    {
    public MainWindow()
    {
    InitializeComponent();
    //这是第一种方法
    //RelativeSource rs = new RelativeSource(RelativeSourceMode.FindAncestor);
    ////AncestorLevel是指以Binding目标控件为起点的目标偏移量
    //rs.AncestorLevel = 1;
    ////AncestorType是说Bingding目标的类型
    //rs.AncestorType = typeof(Grid);
    //Binding binding = new Binding("Name") { RelativeSource=rs};
    //this.zuihou.SetBinding(TextBox.TextProperty, binding);
    }
    }
    }

  • 相关阅读:
    sharedWorker 实现多页面通信
    cookie跨域那些事儿
    event loop整理
    tsConfig/baseUrl -- 一键告别相对路径import
    vscode配置golang开发环境手把手描述篇
    Vue学习笔记二
    Vue学习笔记
    echarts迁移图动态加载
    病虫害可视化监测平台(一)
    昆虫识别开发进展APP(四)
  • 原文地址:https://www.cnblogs.com/lijin/p/3151049.html
Copyright © 2011-2022 走看看