Привязка команды в пользовательском управлении в WPFC#

Место общения программистов C#
Ответить
Anonymous
 Привязка команды в пользовательском управлении в WPF

Сообщение Anonymous »

У меня есть пользовательский элемент управления в качестве внешней библиотеки. Это просто текстовое поле с некоторой дополнительной функциональностью и пользовательским контекстным меню.




















< /code>

и Codebehind выглядит как: < /p>
namespace CustomControls
{
public class LabelTextBox : TextBox
{
public bool EditTemplateMode
{
get
{
return (bool)GetValue(EditTemplateModeProperty);
}
set
{
SetValue(EditTemplateModeProperty, value);
}
}

public static readonly DependencyProperty EditTemplateModeProperty
= DependencyProperty.Register(
"EditTemplateMode",
typeof(bool),
typeof(LabelTextBox),
new PropertyMetadata(false)
);

internal RelayCommand AddColumnAfterCommand => new(AddColumnAfter);

private void AddColumnAfter(object obj)
{
AddColumn?.Invoke(this, new RoutedEventArgs());
}

public event RoutedEventHandler? AddColumn;

static LabelTextBox()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(LabelTextBox), new FrameworkPropertyMetadata(typeof(LabelTextBox)));
}
}
}
< /code>
, где RelayCommand реализовал интерфейс icommand.

Что я проверил, так это то, что Relaycommand AddColumnafterCommand никогда не вызывается в ContextMenu, нажатый. Я думаю, что должно быть какое -то относительное место для шаблона, но я понятия не имею, как это сделать. Также я могу определить класс как < /p>
public class LabelTextBox : Control
< /code>
Но в этом случае мне нужно много свойств зависимостей от Textbox, я хотел бы использовать в этом управлении. Может это лучшая идея?

Подробнее здесь: https://stackoverflow.com/questions/797 ... rol-in-wpf
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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