WPF
WPF xmlns
xmlns=xml namespace,assembly 导入命名空间,相当于C# 中的 using
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
说明:
xmlns指向的命名空间为 http://schemas.microsoft.com/winfx/2006/xaml/presentation
其实 http://schemas.microsoft.com/winfx/2006/xaml/presentation 是程序集和命名空间的别名
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
说明:
xmlns指向的命名空间为 http://schemas.microsoft.com/winfx/2006/xaml,x 为作为命名空间的别名
xmlns:local="clr-namespace:WpfDemo"
说明,在同一程序集:
xmlns 指向的命名空间为 WpfDemo,local 作为命名空间的别名
xmlns:System="clr-namespace:System;assembly=mscorlib"
说明,在不同程序集:
xmlns 指向的命名空间为 System,程序集为mscorlib,System 作为命名空间的别名
WPF x:Static
用途:访问代码中的变量等
C# 后台定义
public partial class MianWindow : Window { public static string Name = "后台静态变量"; public MianWindow () { InitializeComponent(); } }
XAML 前端调用
<TextBox Text="{x:Static local:MainWindow.Name}"></TextBox>
WPF x:Key和x:Name
x: Key用在xaml Resources,ResourceDictionary需要key来访问
x:Name用在ResourceDictionary以外任何地方,可以使用x: Name在code - behind访问对象
x:Key唯一地标识作为资源创建和引用且存在于 ResourceDictionary 中的元素。
x:Name 唯一标识对象元素,以便于从代码隐藏或通用代码中访问实例化的元素。
x:key和x: name的区别,前者是为xaml中定义的资源文件提供唯一的标识,后者是为xaml中定义的控件元素提供唯一标识。
{Binding Path=ActualWidth, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ScrollContentPresenter}}}
参考:https://www.cnblogs.com/callyblog/p/7427048.html