wpf自定义控件添加绑定事件 (wpf datagrid动态绑定)

1. XAML文件引入System命名空间

<UserControl x:Class="UI.UCInformation"

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"

xmlns:d="http://schemas.microsoft.com/expression/blend/2008"

xmlns:sys="clr-namespace:System;assembly=mscorlib"

xmlns:local="clr-namespace:UI"

mc:Ignorable="d"

d:DesignHeight="240" d:DesignWidth="400">

<!--其他代码-->

</UserControl>

2. 添加资源

<UserControl x:Class="UI.UCInformation"

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"

xmlns:d="http://schemas.microsoft.com/expression/blend/2008"

xmlns:sys="clr-namespace:System;assembly=mscorlib"

xmlns:local="clr-namespace:UI"

mc:Ignorable="d"

d:DesignHeight="240" d:DesignWidth="400">

<UserControl.Resources>

<sys:DateTime x:Key="DataTimeDataSource" d:IsDataSource="True"/>

</UserControl.Resources>

<!--其他代码-->

</UserControl>

3. 增加TextBox控件并绑定Now属性

<Grid Margin="10 25 10 10" DataContext="{x:Static local:SysCfg.Default}">

<TextBlock Text="{Binding Now, Mode=OneWay, StringFormat='yyyy年MM月dd日'}" FontSize="14" DataContext="{Binding Source={StaticResource DataTimeDataSource}}" VerticalAlignment="Center" HorizontalAlignment="Center"/>

</Grid>

4. 绑定后效果

wpf自定义控件添加绑定事件,wpftextbox

绑定效果

5. 完整`XAML`代码

<UserControl x:Class="UI.UCInformation"

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"

xmlns:d="http://schemas.microsoft.com/expression/blend/2008"

xmlns:sys="clr-namespace:System;assembly=mscorlib"

xmlns:local="clr-namespace:UI"

mc:Ignorable="d"

xmlns:SAUtil="clr-namespace:SAUtilLib;assembly=SAUtilLib"

d:DesignHeight="240" d:DesignWidth="400">

<UserControl.Resources>

<sys:DateTime x:Key="DataTimeDataSource" d:IsDataSource="True"/>

</UserControl.Resources>

<Grid Margin="10 25 10 10" DataContext="{x:Static local:SysCfg.Default}">

<TextBlock Text="{Binding Now, Mode=OneWay, StringFormat='yyyy年MM月dd日'}" FontSize="14" DataContext="{Binding Source={StaticResource DataTimeDataSource}}" VerticalAlignment="Center" HorizontalAlignment="Center"/>

</Grid>

</UserControl>