WPF でダイアログ クラスを作成しようとしています。Window
このクラスは、いくつかのデフォルトのボタンと設定を継承して提供します。
実装は基本的に次のようになります。
namespace Commons {
public class Dialog : Window {
public new UIElement Content {
get { return this.m_mainContent.Child; }
set { this.m_mainContent.Child = value; }
}
// The dialog's content goes into this element.
private readonly Decorator m_mainContent = new Decorator();
// Some other controls beside "m_mainContent".
private readonly StackPanel m_buttonPanel = new StackPanel();
public Dialog() {
DockPanel content = new DockPanel();
DockPanel.SetDock(this.m_buttonPanel, Dock.Bottom);
content.Children.Add(this.m_buttonPanel);
content.Children.Add(this.m_mainContent);
base.Content = content;
}
public void AddButton(Button button) {
...
}
}
}
ご覧のとおり、Content
プロパティを再定義しました。
今度は、このダイアログ クラスを XAML で次のように使用できるようにしたいと考えています。
<my:Dialog x:Class="MyDialogTest.TestDialog"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:my="clr-namespace:Commons;assembly=Commons"
Title="Outline" Height="800" Width="800">
<!-- Dialog contents here -->
</my:Dialog>
ただし、これはWindow.Content
ではなくダイアログの内容を設定するときに使用されますDialog.Content
。どうすればこれを機能させることができますか?