我有一个数据输入应用程序,其中包括用于记录注释的文本框。这些注释特定于输入的数据,并且通常是多余的(对于一系列数据记录给出相同的注释)。
我计划添加一个带有选择评论的组合框,以涵盖最常见的情况。从组合框中选择一个时,注释文本框将填充固定注释。
但是,我还需要能够在文本框中的预设消息后输入其他评论。但我不希望改变预制信息的可能性。所有输入的评论都需要在评论后发表。
有没有办法将静态文本应用到无法更改的文本框中,但仍允许在其下方输入文本?
到目前为止,我想出的唯一想法是捕获TextInput事件并使用预制消息不断覆盖文本框内容的开头,但结果并不完全相同。
答案 0 :(得分:3)
您可以将已禁用的TextBox
放在可编辑TextBox
的正上方,然后分别删除它们的底部和顶部边框,使它们看起来像一个大的TextBox
。
答案 1 :(得分:2)
可能会覆盖TextBox
模板,使其包含带有预设消息Panel
的{{1}}和用于用户输入的常规ComboBox
。
设置内部TextBox
的样式,使其没有常规的TextBox边框,并设置TextBox
样式,这样当它没有焦点时,它也不会显示它的边框。
当ComboBox具有焦点时,它看起来像TextBox中的ComboBox,如果它没有焦点,它将看起来像一个大的TextBox
答案 2 :(得分:0)
我认为您可以将textBox1.Text与组合框选定的项目绑定为单向模式。以下是代码snipet
<ComboBox Height="23" HorizontalAlignment="Left" Margin="118,48,0,0" Name="comboBox1" VerticalAlignment="Top" Width="144">
<ComboBoxItem Content="Commanet 1" />
<ComboBoxItem Content="Comment 2" />
</ComboBox>
<TextBox Height="64" HorizontalAlignment="Left" Margin="118,101,0,0" Name="textBox1" VerticalAlignment="Top" Width="144" Text="{Binding ElementName=comboBox1, Path=SelectedItem.Content, Mode=OneWay}" />
答案 3 :(得分:0)
不,我意识到,你不能拥有这样的东西。但你可以:
希望这有帮助。
答案 4 :(得分:0)
我会采用略有不同的策略。
如果在Combobox中选择了某些内容,则将所选组合框项目文本和文本框文本中的输入连接起来。如果没有,请使用文本框文本。
当然,您可以使用组合框的选定事件来标记标签,以反映环境的变化。
答案 5 :(得分:0)
另外2个选项。
但是,视觉看起来为1的2个文本框仍然是更好的选择 - 最容易实现和维护