我正在做一個簡單的演示來學習如何創建一個可綁定的用戶控件。我創建了一個簡單的類:如何使自定義XAML用戶控件可綁定?
class Person
{
public string firstName;
public string lastName;
public Person(string first, string last)
{
firstName = first;
lastName = last;
}
}
和一個非常簡單的用戶控制:
<UserControl x:Class="Example.ExampleHRControl"
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"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<Grid>
<TextBlock x:Name="textFirstName"></TextBlock>
<TextBlock x:Name="textLastName"></TextBlock>
</Grid>
</UserControl>
我想知道什麼是我需要什麼才能做才能夠使用用戶像正常控制一樣控制在上下文中。我可以添加這個到MainWindow
:
<local:ExampleHRControl x:Name="Hr1"></local:ExampleHRControl>
,然後我可以通過後面的代碼解決這個問題,並添加值:
Hr1.textFirstName.Text = "John";
Hr1.textLasttName.Text = "Doe";
我寧願能夠創建類Person
的實例並簡單地將主窗口上的控件綁定到Person
類。
不改變'DataContext'可能是有益的,特別是如果這個'UserControl'最終成爲'ContentControl'。一個簡單的解決方案是命名用戶控件並通過'ElementName'在綁定中引用它。 – user7116 2012-04-18 21:32:11
sixlettervariables是正確的。看看這個[解釋](http://www.scottlogic.co.uk/blog/colin/2012/02/a-simple-pattern-for-creating-re-useable-usercontrols-in-wpf-silverlight /) 由於這個原因。 – LPL 2012-04-18 21:57:05
我已經在上面的原始發佈中進行了六個字母變量推薦的更改。 – Curtis 2012-04-19 14:53:01