我有三个水平对齐的控件,一个ListPicker,一个Textblock和一个ListPicker。
内容看起来像,
美利坚合众国v / s英国
美利坚合众国 - 第一个ListPicker的内容(根据所选项目更改值)
v / s - 文本块内容
英国 - 第二个ListPicker的内容(根据所选项目更改值)
我需要对整个字符串进行文本处理"美国v / s英国"好像它是单个控件的内容。
这可能吗?请帮忙。
答案 0 :(得分:0)
您可以尝试将RichTextBox与InlineUIContainers一起使用:
<RichTextBox>
<Paragraph>
<InlineUIContainer>
<ListBox>
<ListBoxItem>United states of America</ListBoxItem>
<ListBoxItem>United states of America</ListBoxItem>
</ListBox>
</InlineUIContainer>
<Run Text="vs" />
<InlineUIContainer>
<ListBox>
<ListBoxItem>United Kingdom</ListBoxItem>
<ListBoxItem>United Kingdom</ListBoxItem>
</ListBox>
</InlineUIContainer>
</Paragraph>
</RichTextBox>
但是这仍然不会将文本包装在InlineUIContainer中。它只会将部件相对于彼此包裹起来。
如果您希望能够包装内部文本,则需要更改方法。我能想到的唯一解决方案是使用超链接:
<RichTextBox>
<Paragraph>
<Hyperlink Click="Hyperlink1_Click">United states of America</Hyperlink>
<Run Text=" vs " />
<Hyperlink Click="Hyperlink2_Click">United states of America</Hyperlink>
</Paragraph>
</RichTextBox>
并处理Hyperlink.Click事件而不是导航,以显示要拾取的项目列表,然后更改超链接的文本以反映新选择的项目。您可能还想尝试重新设置超链接
答案 1 :(得分:-1)
您可以使用stackpanel,如下所示:
<StackPanel Orientation="Horizontal" >
<toolkit:ListPicker VerticalAlignment="Center" Width="100"/>
<TextBlock Text="vs" VerticalAlignment="Center" TextAlignment="Center"/>
<toolkit:ListPicker VerticalAlignment="Center" Width="100" />
</StackPanel>
注意:“宽度”取决于您。