我有一個主表單,它有一個tabControl. 我正在嘗試創建一個userControl可以添加到tabItem. 我的目標是添加一個tabControl但是userControl我得到這個錯誤:
'[Unknown]' property does not point to a DependencyObject in path '(0).(1)[1].(2)'.
userControl 中的代碼非常簡單
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TabControl>
<TabItem>
</TabItem>
</TabControl>
</Grid>
如何創建userControl以便它可以包含 atabControl然后添加到 mainForm 內tabItem?
uj5u.com熱心網友回復:
UserControl1.xmal
<UserControl x:Class="WpfApp1.UserControl1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TabControl x:Name="tabControl">
</TabControl>
</Grid>
</UserControl>
用戶控制元件.cs
public partial class UserControl1 : UserControl
{
public List<TabItem> TabItem { get; set; } = new List<TabItem>();
public UserControl1()
{
InitializeComponent();
}
public override void OnApplyTemplate()
{
foreach (TabItem tabItems in TabItem)
tabControl.Items.Add(tabItems);
base.OnApplyTemplate();
}
}
主視窗.xaml
<Window x:Class="WpfApp1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfApp1"
Height="450" Width="800">
<Grid>
<local:UserControl1 Height="200" Width="200">
<local:UserControl1.TabItem>
<TabItem Header="Tab1">
<TextBox/>
</TabItem>
<TabItem Header="Tab2">
<TextBox/>
</TabItem>
</local:UserControl1.TabItem>
</local:UserControl1>
</Grid>
</Window>
在這種情況下,無法通過 x:Name="" 訪問 TextBox,
因為 TextBox 是 UserControl 的子級,而不是 MainWindow 的子級。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/504361.html
