Флажок WPF не будет отображать UIElement в качестве содержимого - PullRequest
0 голосов
/ 04 июня 2010

Я работаю с пользовательским флажком и пытаюсь установить содержимое на WPF Viewbox. Проблема, просто, ничего не отображается. Флажок появляется и работает, но у него нет содержимого. Это пример кода (а не фактический код) того, что я пытаюсь сделать.

MyCheckbox myCheckbox = new MyCheckbox();

Viewbox viewbox = new Viewbox();
viewbox.Height = 20;
viewbox.Width = 20;

Label label = new Label();
label.Content = "Test";

viewbox.Child = label;
myCheckbox.Content = viewbox;

Свойство Content принимает объект, поэтому нет проблем с установкой его в Viewbox, и ContentPresenter может отображать UIElement. Я подумал, что, возможно, ContentPresenter не сможет отобразить метку, содержащуюся во Viewbox, поэтому я создал некоторый тестовый код, установив для содержимого флажка простой прямоугольник. Все еще ничего.

Есть мысли или идеи? Спасибо за вашу помощь!

Oh - Установка свойства Content для строки работает.

1 Ответ

1 голос
/ 04 июня 2010

Вам может потребоваться опубликовать соответствующий XAML вашего пользовательского CheckBox. Убедитесь, что у ControlTemplate есть ContentPresenter и что если у вас есть ContentTemplate, это не мешает. Вы можете увидеть пример шаблона здесь.

Если вы просто хотите изменить внешний вид CheckBox, вы можете изменить шаблон стандарта CheckBox без написания пользовательского класса.

...