Привязка свойств пользовательского элемента управления Winui3 не работаетC#

Место общения программистов C#
Anonymous
Привязка свойств пользовательского элемента управления Winui3 не работает

Сообщение Anonymous »

Я создал пользовательский элемент управления, который предполагается использовать в качестве кнопки в представлении элемента, однако привязка для изменения его текста не работает.
CustomControls (проект библиотеки классов Winui3) )/CustomTableItem.cs

Код: Выделить всё

namespace CustomControls
{
public sealed class CustomTableItem : Control
{

DependencyProperty TableNameProperty = DependencyProperty.Register(
nameof(TableName),
typeof(string),
typeof(CustomTableItem),
new PropertyMetadata(null));

public string TableName
{
get => (string)GetValue(TableNameProperty);
set => SetValue(TableNameProperty, value);
}

public CustomTableItem()
{
this.DefaultStyleKey = typeof(CustomTableItem);
}

public CustomTableItem(string TableName)
{
this.DefaultStyleKey = typeof(CustomTableItem);
this.TableName = TableName;
}
}
}
CustomControls/Themes/Generic.xaml

Код: Выделить всё

//one other style above [...]














View(упакованный проект winui3)/CustomTablePage.xaml

Код: Выделить всё

    x:Class="View.CustomTablePage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:View"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:customControls ="using:CustomControls"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">


CustomTablePage отображается с помощью функции ContentFrame.Navigate()
Конечный результат:
Изображение

Когда я размещаю точно такой же элемент управления на странице, экземпляр которой создается один раз и используется повторно(

Код: Выделить всё

ContentFrame.Content = PageObject
) Свойство работает:
Изображение

Расположение другой страницы: View/PageName.xaml.
Код: Я пробовал изменить привязку в текстовом свойстве шаблона, но это все равно не сработало. Я видел некоторые ответы, в которых говорилось о чем-то под названием DataContex, но я не понимал, как это работает, и заметил, что большинство из них использовали пользовательские элементы управления вместо пользовательских элементов управления или WPF.

Подробнее здесь: https://stackoverflow.com/questions/790 ... oesnt-work

Вернуться в «C#»