将格式 xxxxxxxxxx 更改为 xxx-xxx-xxxx
Changing format xxxxxxxxxx to xxx-xxx-xxxx
我在 WPF 中有一个文本框,我需要以 xxx-xxx-xxxx 格式显示文本。
<TextBox FontSize="30" Text="{Binding MyString,UpdateSourceTrigger=PropertyChanged}" Grid.Row="3" MaxLength="10"></TextBox>
MyString
只是 属性,它将 TextBox 中的值设置到其中用于其他一些逻辑。我可以使用 StringFormat 在 XAML 本身中完成吗?
是的,你可以做到。请尝试以下操作:
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{}{0}-whateverhercomes-andwhateverherecomes">
<Binding Path="MyString"/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
您可以尝试使用MaskedTextBox指定输入格式。
示例:
<wpfx:MaskedTextBox Mask="000-000-0000" />
也试试 this tutorial。
作为一个选项,您可以拆分代码隐藏(或视图模型)中的文本并分别绑定每个值
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{0}-{1}-{2}">
<Binding Path="FirstPart" />
<Binding Path="SecondPart" />
<Binding Path="ThirdPart" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
我在 WPF 中有一个文本框,我需要以 xxx-xxx-xxxx 格式显示文本。
<TextBox FontSize="30" Text="{Binding MyString,UpdateSourceTrigger=PropertyChanged}" Grid.Row="3" MaxLength="10"></TextBox>
MyString
只是 属性,它将 TextBox 中的值设置到其中用于其他一些逻辑。我可以使用 StringFormat 在 XAML 本身中完成吗?
是的,你可以做到。请尝试以下操作:
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{}{0}-whateverhercomes-andwhateverherecomes">
<Binding Path="MyString"/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
您可以尝试使用MaskedTextBox指定输入格式。
示例:
<wpfx:MaskedTextBox Mask="000-000-0000" />
也试试 this tutorial。
作为一个选项,您可以拆分代码隐藏(或视图模型)中的文本并分别绑定每个值
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{0}-{1}-{2}">
<Binding Path="FirstPart" />
<Binding Path="SecondPart" />
<Binding Path="ThirdPart" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>