4

WPF ウィンドウで TextBox などのコントロールをドラッグ アンド ドロップすると、XAML で以下の行が表示されます。

<TextBox ... TextWrapping="Wrap" Text="TextBox" />

これらのプロパティは、XAML に自動的に挿入されます。XAML に挿入された特殊なプロパティです。

質問:

  • これらの特別なプロパティ (TextBox など) だけが XAML に自動的に追加されるのはなぜTextWrappingですかText? (これには一種の属性がありますか)?
  • TextWrappingTextBox からクラスを継承し、プロパティの自動挿入を防止したい。出来ますか?(これには一種の属性がありますか)?
  • TextWrappingデザイン モード (このTextBoxなど) で、XAML に自動的に挿入されるプロパティを選択する解決策はありますか?
4

2 に答える 2

3

必要なのは、ToolBox からデザイン ビューにドラッグするときに設定されるデフォルトを定義するDefaultInitializerです。

[Feature(typeof(myDefaults))]
public partial class UserControl1 : UserControl
{
    public UserControl1()
    {
        InitializeComponent();
    }

    public class myDefaults : DefaultInitializer
    {
        public override void InitializeDefaults(ModelItem item)
        {
            item.Name = "test";
        }
    }
}

次に、このコントロールをフォームにドラッグ アンド ドロップすると、

<local:UserControl1 x:Name="test" Width="100"/>
于 2013-08-15T22:05:01.333 に答える