[英]How to bind UserControl inside another UserControl?
問題是下面的代碼應該將UserControl
傳遞給Modal(也是UserControl
)不起作用。 它看起來很簡單,我必須在這里遺漏一些小東西。
這是代碼
XAML:
<UserControl x:Class="Test.UserControls.Modal"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006">
<Grid>
....
<ContentControl Content="{Binding PrimaryElement, ElementName=self}" />
</Grid>
<UserControl x:Class="Test.UserControls.SimpleUserControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006">
<Grid>
<Label>Test</Label>
</Grid>
</UserControl>
C#:
namespace Test.UserControls
{
public partial class Modal: UserControl
{
public static readonly DependencyProperty PrimaryElementPropery =
DependencyProperty.Register("PrimaryElement", typeof(UserControl), typeof(Modal), new FrameworkPropertyMetadata
{
BindsTwoWayByDefault = false
});
public UserControl PrimaryElement
{
get { return (UserControl)GetValue(PrimaryElementPropery); }
set { SetValue(PrimaryElementPropery, value); }
}
public Modal (UserControl userControl)
{
// userControl is SimpleUserControl
PrimaryElement = userControl;
InitializeComponent();
}
}
}
結果,模態顯示但其中沒有SimpleUserControl
。 綁定有問題。
我解決了我的問題,這是愚蠢的。 SimpleUserControl中缺少寬度和高度。 元素顯示但沒有寬度和高度。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.