1

通常のテキストボックスをエミュレートするユーザーコントロールを作成しようとしていますが、タグがあります。これに沿った何か:

ここに画像の説明を入力

しかし、私は問題を抱えています...私はこれをやろうとしました:

<TextBox> 
    <Border/>
</TextBox>

しかし、それはうまくいきません。richTextBox を使用せずにこれを行うにはどうすればよいですか?

ありがとう

4

1 に答える 1

1

TextBox はコンテナではないため、子はありません。TextBox をコンテナ オブジェクトでラップしてみてはいかがでしょうか。

始めるためのサンプルコード:

    <Border Grid.Row="0" BorderBrush="#FF808080" Background="#FFFFFFFF" >
        <DockPanel>
            <ItemsControl DockPanel.Dock="Left" ItemsSource="{Binding Tags}">
                <ItemsControl.ItemsPanel>
                    <ItemsPanelTemplate>
                        <WrapPanel />
                    </ItemsPanelTemplate>
                </ItemsControl.ItemsPanel>
                <ItemsControl.ItemTemplate>
                    <DataTemplate>
                        <Border BorderBrush="#FF000000" BorderThickness="1" Margin="3">
                            <DockPanel>
                                <Button DockPanel.Dock="Right" Content="X" />
                                <TextBlock Text="{Binding}" Margin="3" />
                            </DockPanel>
                        </Border>
                    </DataTemplate>
                </ItemsControl.ItemTemplate>
            </ItemsControl>
            <TextBox BorderThickness="0" Text="{Binding Text}" VerticalContentAlignment="Center" />
        </DockPanel>
    </Border>

ただし、ソリューションに最適な方法で再スタイルおよび再バインドします。

于 2013-03-27T23:35:16.783 に答える