Tôi đang tạo một bản trình diễn đơn giản để tìm hiểu cách tạo điều khiển người dùng có thể ràng buộc. Tôi đã tạo ra một lớp đơn giản:Làm cách nào để bạn thực hiện Điều khiển người dùng XAML tùy chỉnh có thể ràng buộc?
class Person
{
public string firstName;
public string lastName;
public Person(string first, string last)
{
firstName = first;
lastName = last;
}
}
Và một điều khiển người dùng rất đơn giản:
<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>
Những gì tôi muốn biết là những gì tôi cần phải làm để có thể sử dụng cho người sử dụng kiểm soát trong bối cảnh như một điều khiển bình thường. Tôi có thể thêm video này vào các MainWindow
:
<local:ExampleHRControl x:Name="Hr1"></local:ExampleHRControl>
và sau đó tôi có thể giải quyết nó thông qua mã phía sau và thêm giá trị:
Hr1.textFirstName.Text = "John";
Hr1.textLasttName.Text = "Doe";
Tôi muốn để có thể tạo ra một thể hiện của lớp Person
và chỉ cần gắn điều khiển trên cửa sổ chính với lớp Person
.
Có thể có ích khi không thay đổi 'DataContext', đặc biệt nếu' UserControl' này kết thúc bằng 'ContentControl'. Một giải pháp đơn giản cho điều này sẽ là đặt tên cho điều khiển người dùng và tham chiếu nó trong các ràng buộc thông qua 'ElementName'. – user7116
sixlettervariables là đúng. Hãy xem [giải thích] này (http://www.scottlogic.co.uk/blog/colin/2012/02/a-simple-pattern-for-creating-re-useable-usercontrols-in-wpf-silverlight /) với lý do. – LPL
Tôi đã thực hiện thay đổi sáu bản biến đổi được đề xuất trong bài đăng gốc ở trên. – Curtis