0

アプリケーションのテキスト ボックスにいくつかのカスタム プロパティを追加しようとしています。これにより、必要なコード行を大幅に減らすことができます。

プロパティを追加するための C# コード

class HorizonTextBoxExt:TextBox
{
    public HorizonTextBoxExt() : base() { }

    public bool BoundToDataGrid
    {
        get { return (bool)this.GetValue(BoundToDataGridProperty); }
        set { this.SetValue(BoundToDataGridProperty, value); }
    }

    public static readonly DependencyProperty BoundToDataGridProperty =
    DependencyProperty.Register(
    "BoundToDataGrid",
    typeof(bool),
    typeof(HorizonTextBoxExt),
    new UIPropertyMetadata(false)
    );
}

「エラー 3 アタッチ可能なプロパティ 'BoundToDataGrid' がタイプ Horizo​​nTextBoxExt で見つかりませんでした。

wpf デザイナーの xaml 風で発生するエラーです

    <Window x:Class="WpfApplication7.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:Local ="clr-namespace:WpfApplication7"
            Title="MainWindow" Height="350" Width="525">
            <Grid>
                <TextBox HorizontalAlignment="Left" Height="63" Margin="90,47,0,0"       TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Width="225" Local:HorizonTextBoxExt.BoundToDataGrid="true" />

           </Grid>
     </Window>
4

1 に答える 1

3

これを置き換えます:

<Grid>
    <TextBox /* ... */ Local:HorizonTextBoxExt.BoundToDataGrid="true" />

</Grid>

これとともに:

<Grid>
    <Local:HorizonTextBoxExt /* ... */ BoundToDataGrid="true" />

</Grid>
于 2013-01-14T09:51:38.087 に答える