-1
我有一個包含wpf用戶控件的dll。如何從wpf用戶控件設置公共變量值?
我在另一個wpf項目中有一個wpf窗口,其中包含上述用戶控件。
我在wpf用戶控件中有兩個公共屬性。
我想從添加wpf用戶控件的wpf窗口中設置這些屬性。
我試圖做使用依賴屬性,如下所示:
TestUserControl.xaml: -
<UserControl x:Class="TestDependencyProperty.TestUserControl"
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>
<Label Content="test property" x:Name="lblTestProperty"/>
</Grid>
</UserControl>
TestUserControl.xaml.cs: -
using System.ComponentModel;
using System.Windows;
namespace TestDependencyProperty
{
/// <summary>
/// Interaction logic for TestUserControl.xaml
/// </summary>
public partial class TestUserControl
{
public TestUserControl()
{
InitializeComponent();
SetLabelText();
}
private void SetLabelText()
{
lblTestProperty.Content = TestProperty;
}
public static readonly DependencyProperty TestDependencyProperty =
DependencyProperty.Register("TestProperty",
typeof(string),
typeof(TestUserControl));
[Bindable(true)]
public string TestProperty
{
get
{
return (string)this.GetValue(TestDependencyProperty);
}
set
{
this.SetValue(TestDependencyProperty, value);
}
}
}
MainWindow.xaml : -
<Window x:Class="TestDependencyProperty.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"
xmlns:local="clr-namespace:TestDependencyProperty"
>
<Grid>
<local:TestUserControl x:Name="ucTest" TestProperty="HelloWorld"/>
</Grid>
</Window>
我在期待內容爲「HelloWorld」的標籤。
那麼有人可以告訴我該怎麼做嗎?
謝謝。
你嘗試了什麼?你有沒有在WPF中設置過一個屬性?你上次怎麼做?你爲什麼認爲這種情況不同?你在這裏有任何具體的具體問題嗎? –
你使用了依賴屬性嗎? –
@Ed Plunkett感謝您的回覆,我從未嘗試過從用戶控件屬性綁定公共變量。如果您有關於此問題的任何代碼段,請轉發。謝謝。 – pankaj