微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

silverlight 格式转换

http://www.dotblogs.com.tw/ouch1978/archive/2011/05/04/sl-binding-with-stringformat.aspx

 

http://www.voidcn.com/article/p-odzsmvks-bgx.html

 

Silverlight]使用StringFormat設定Binding資料的顯示格式

在WPF中,TextBlock可以透過Binding的StringFormat屬性來設定資料的顯示格式,而其他的許多控制項也可以透過ContentStringFormat、HeaderStringFormat等等屬性來設定資料的顯示格式,那Silverlight呢?

這個時候,就有一個好消息和一個壞消息要和大家分享了,好消息是:Silverlight 4.0之後就可以和WPF一樣在Binding時使用StringFormat屬性來設定資料的顯示格式;壞消息則是Silverlight的控制項並不提供像WPF的ContentStringFormat等相關屬性可供設定(而且目前手邊的5.0 Beta版也沒有)。

這次就直接來看範例吧(請原諒我的懶惰,這次的範例是以WPF版的範例為基礎修改的):

XAML檔內容如下:

MainPage.xaml
     
     
  1. <UserControl x:Class="SL_BindingWithStringFormat.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  2. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  3. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:system="clr-namespace:System;assembly=mscorlib"
  4. xmlns:Theme="clr-namespace:System.Windows.Controls.Theming;assembly=System.Windows.Controls.Theming.ExpressionDark"
  5. xmlns:toolkit="clr-namespace:Microsoft.Windows;assembly=System.Windows.Controls.Toolkit" mc:Ignorable="d" d:DesignHeight="600"
  6. d:DesignWidth="700" xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk" Background="White">
  7. <Theme:ExpressionDarkTheme Background="{x:Null}">
  8. <Border BorderThickness="2" BorderBrush="#FF646464" CornerRadius="10" Background="White" Margin="10">
  9. <Border.Effect>
  10. <DropShadowEffect />
  11. </Border.Effect>
  12. <Grid Margin="2,-2,2">
  13. <Grid.RowDeFinitions>
  14. <RowDeFinition Height="Auto" />
  15. <RowDeFinition />
  16. <RowDeFinition />
  17. <RowDeFinition />
  18. </Grid.RowDeFinitions>
  19. <TextBlock HorizontalAlignment="Center" textwrapping="Wrap" Text="Silverlight StringFormat 範例" FontSize="24"
  20. VerticalAlignment="Center" Margin="5,10" Foreground="#FF646464" FontWeight="Bold" FontFamily="Microsoft JhengHei" />
  21. <Rectangle Fill="#FF646464" Height="2" VerticalAlignment="Bottom" Margin="20,0" />
  22. <ViewBox Grid.Row="1" Margin="0,10,20,10" HorizontalAlignment="Right" VerticalAlignment="Center" Opacity="0.2" d:IsLocked="True">
  23. <TextBlock textwrapping="Wrap" Text="一般字串格式" FontSize="21.333" Foreground="#FF646464" FontWeight="Bold" FontStyle="Italic"
  24. FontFamily="Microsoft JhengHei" />
  25. </ViewBox>
  26. <ViewBox Margin="0,10" Grid.Row="2" HorizontalAlignment="Right" VerticalAlignment="Center" Opacity="0.2" d:IsLocked="True">
  27. <TextBlock textwrapping="Wrap" Text="數字格式" FontSize="21.333" Foreground="#FF646464" FontStyle="Italic" FontWeight="Bold"
  28. FontFamily="Microsoft JhengHei" />
  29. </ViewBox>
  30. <ViewBox Grid.Row="3" Margin="0,10" HorizontalAlignment="Right" VerticalAlignment="Center" Opacity="0.2" d:IsLocked="True">
  31. <TextBlock textwrapping="Wrap" Text="日期格式" FontSize="21.333" Foreground="#FF646464" FontStyle="Italic" FontWeight="Bold"
  32. FontFamily="Microsoft JhengHei" />
  33. </ViewBox>
  34. <Grid Grid.Row="1" Margin="20,10">
  35. <Grid.ColumnDeFinitions>
  36. <ColumnDeFinition Width="Auto" />
  37. <ColumnDeFinition />
  38. <ColumnDeFinition />
  39. <ColumnDeFinition />
  40. <ColumnDeFinition />
  41. </Grid.ColumnDeFinitions>
  42. <Grid.RowDeFinitions>
  43. <RowDeFinition Height="Auto" />
  44. <RowDeFinition />
  45. <RowDeFinition />
  46. <RowDeFinition />
  47. </Grid.RowDeFinitions>
  48. <StackPanel HorizontalAlignment="Left" Orientation="Horizontal" Grid.ColumnSpan="10" Margin="0,20" d:LayoutOverrides="GridBox">
  49. <TextBlock textwrapping="Wrap" Text="請在文字方塊中輸入文字:" VerticalAlignment="Center" FontFamily="Microsoft JhengHei" FontSize="16"
  50. Foreground="Black" />
  51. <TextBox x:Name="txtTextBox1" textwrapping="Wrap" VerticalAlignment="Center" MinWidth="250" FontFamily="Microsoft JhengHei"
  52. FontSize="14.667" Background="#7F323232" Text="我是範例" />
  53. </StackPanel>
  54. <TextBlock textwrapping="Wrap" VerticalAlignment="Bottom" Grid.Row="1" HorizontalAlignment="Right" FontFamily="Microsoft JhengHei"
  55. Text="說明" Foreground="Black" />
  56. <TextBlock textwrapping="Wrap" Grid.Column="1" Grid.Row="1" HorizontalAlignment="Right" VerticalAlignment="Bottom"
  57. FontFamily="Microsoft JhengHei" Text="加入特定文字" Foreground="Black" />
  58. <TextBlock textwrapping="Wrap" Grid.Column="2" Grid.Row="1" HorizontalAlignment="Right" VerticalAlignment="Bottom"
  59. FontFamily="Microsoft JhengHei" Text="左右加上括弧" Foreground="Black" />
  60. <TextBlock textwrapping="Wrap" Grid.Column="3" Grid.Row="1" HorizontalAlignment="Right" VerticalAlignment="Bottom"
  61. FontFamily="Microsoft JhengHei" Text="左邊加上空白" Foreground="Black" />
  62. <TextBlock textwrapping="Wrap" Grid.Column="4" Grid.Row="1" HorizontalAlignment="Right" VerticalAlignment="Bottom"
  63. FontFamily="Microsoft JhengHei" Text="右邊加上空白" Foreground="Black" />
  64. <TextBlock textwrapping="Wrap" VerticalAlignment="Bottom" Grid.Row="2" HorizontalAlignment="Right" FontFamily="Microsoft JhengHei"
  65. Text="StringFormat" Foreground="Black" />
  66. <TextBlock textwrapping="Wrap" Grid.Column="1" Grid.Row="2" HorizontalAlignment="Right" VerticalAlignment="Bottom"
  67. FontFamily="Microsoft JhengHei" Text="您輸入的是:&quot;{0}&quot;" Foreground="Black" />
  68. <TextBlock textwrapping="Wrap" Grid.Column="2" Grid.Row="2" HorizontalAlignment="Right" VerticalAlignment="Bottom"
  69. FontFamily="Microsoft JhengHei" Text="({0})" Foreground="Black" />
  70. <TextBlock textwrapping="Wrap" Grid.Column="3" Grid.Row="2" HorizontalAlignment="Right" VerticalAlignment="Bottom"
  71. FontFamily="Microsoft JhengHei" Text="{}{0,15}" Foreground="Black" />
  72. <TextBlock textwrapping="Wrap" Grid.Column="4" Grid.Row="2" HorizontalAlignment="Right" VerticalAlignment="Bottom"
  73. FontFamily="Microsoft JhengHei" Text="{}{0,-15}" Foreground="Black" />
  74. <TextBlock textwrapping="Wrap" VerticalAlignment="Bottom" Grid.Row="3" HorizontalAlignment="Right" FontFamily="Microsoft JhengHei"
  75. Text="結果" Foreground="Black" />
  76. <Border Grid.Column="1" HorizontalAlignment="Right" Grid.Row="3" VerticalAlignment="Bottom" Background="#7FFFFF00"
  77. CornerRadius="3" Padding="3">
  78. <TextBlock textwrapping="Wrap" FontFamily="Microsoft JhengHei"
  79. Text="{Binding Text,ElementName=txtTextBox1,StringFormat=您輸入的是:\&quot;\{0\}\&quot;}" Foreground="Black" />
  80. </Border>
  81. <Border Grid.Column="2" HorizontalAlignment="Right" Grid.Row="3" VerticalAlignment="Bottom" Background="#7FFFFF00"
  82. CornerRadius="3" Padding="3">
  83. <TextBlock textwrapping="Wrap" FontFamily="Microsoft JhengHei"
  84. Text="{Binding Text,StringFormat=(\{0\})}" Foreground="Black" />
  85. </Border>
  86. <Border Grid.Column="3" HorizontalAlignment="Right" Grid.Row="3" VerticalAlignment="Bottom" Background="#7FFFFF00"
  87. CornerRadius="3" Padding="3">
  88. <TextBlock textwrapping="Wrap" FontFamily="Microsoft JhengHei"
  89. Text="{Binding Text,StringFormat=\{0\,15\}}" Foreground="Black" />
  90. </Border>
  91. <Border Grid.Column="4" HorizontalAlignment="Right" Grid.Row="3" VerticalAlignment="Bottom" Background="#7FFFFF00"
  92. CornerRadius="3" Padding="3">
  93. <TextBlock textwrapping="Wrap" FontFamily="Microsoft JhengHei"
  94. Text="{Binding Text,-15\}}" Foreground="Black" />
  95. </Border>
  96. </Grid>
  97. <Rectangle Fill="#FF646464" Height="2" VerticalAlignment="Bottom" Margin="20,0" Grid.Row="1" Opacity="0.5" />
  98. <Grid Grid.Row="2" Margin="10" d:IsLocked="True" />
  99. <Rectangle Fill="#FF646464" Height="2" VerticalAlignment="Bottom" Margin="20,0" Grid.Row="2" Opacity="0.5" />
  100. <Grid Grid.Row="3" Margin="10,0" d:IsLocked="True" Height="116" VerticalAlignment="Top" />
  101. <Grid Grid.Row="3" Margin="10,10" d:IsLocked="True" Height="116" VerticalAlignment="Bottom" />
  102. <Grid Grid.Row="2" Margin="20,10">
  103. <Grid.ColumnDeFinitions>
  104. <ColumnDeFinition Width="Auto" />
  105. <ColumnDeFinition />
  106. <ColumnDeFinition />
  107. <ColumnDeFinition />
  108. <ColumnDeFinition />
  109. </Grid.ColumnDeFinitions>
  110. <Grid.RowDeFinitions>
  111. <RowDeFinition Height="Auto" />
  112. <RowDeFinition />
  113. <RowDeFinition />
  114. <RowDeFinition />
  115. </Grid.RowDeFinitions>
  116. <StackPanel HorizontalAlignment="Left" Orientation="Horizontal" d:LayoutOverrides="GridBox" Grid.ColumnSpan="10">
  117. <TextBlock textwrapping="Wrap" Text="請移動滑桿:" VerticalAlignment="Center" FontFamily="Microsoft JhengHei" FontSize="16"
  118. Foreground="Black" />
  119. <Slider x:Name="sldSlider2" VerticalAlignment="Center" MinWidth="300" Minimum="-10" Maximum="10" Value="3.2" />
  120. </StackPanel>
  121. <TextBlock textwrapping="Wrap" VerticalAlignment="Bottom" Grid.Row="1" HorizontalAlignment="Right" FontFamily="Microsoft JhengHei"
  122. Text="說明" Foreground="Black" />
  123. <TextBlock textwrapping="Wrap" Grid.Column="1" Grid.Row="1" HorizontalAlignment="Right" VerticalAlignment="Bottom"
  124. FontFamily="Microsoft JhengHei" Text="以貨幣格式顯示" Foreground="Black" />
  125. <TextBlock textwrapping="Wrap" Grid.Column="2" Grid.Row="1" HorizontalAlignment="Right" VerticalAlignment="Bottom"
  126. FontFamily="Microsoft JhengHei" Text="以百分比顯示" Foreground="Black" />
  127. <TextBlock textwrapping="Wrap" Grid.Column="3" Grid.Row="1" HorizontalAlignment="Right" VerticalAlignment="Bottom"
  128. FontFamily="Microsoft JhengHei" Text="使用自訂格式" Foreground="Black" />
  129. <TextBlock textwrapping="Wrap" Grid.Column="4" Grid.Row="1" HorizontalAlignment="Right" VerticalAlignment="Bottom"
  130. FontFamily="Microsoft JhengHei" Text="使用無小數點的百分比顯示" Foreground="Black" />
  131. <TextBlock textwrapping="Wrap" VerticalAlignment="Bottom" Grid.Row="2" HorizontalAlignment="Right" FontFamily="Microsoft JhengHei"
  132. Text="StringFormat" Foreground="Black" />
  133. <TextBlock textwrapping="Wrap" Grid.Column="1" Grid.Row="2" HorizontalAlignment="Right" VerticalAlignment="Bottom"
  134. FontFamily="Microsoft JhengHei" Text="C" Foreground="Black" />
  135. <TextBlock textwrapping="Wrap" Grid.Column="2" Grid.Row="2" HorizontalAlignment="Right" VerticalAlignment="Bottom"
  136. FontFamily="Microsoft JhengHei" Text="P" Foreground="Black" />
  137. <TextBlock textwrapping="Wrap" Grid.Column="3" Grid.Row="2" HorizontalAlignment="Right" VerticalAlignment="Bottom"
  138. FontFamily="Microsoft JhengHei" Text="00.00" Foreground="Black" />
  139. <TextBlock textwrapping="Wrap" Grid.Column="4" Grid.Row="2" HorizontalAlignment="Right" VerticalAlignment="Bottom"
  140. FontFamily="Microsoft JhengHei" Text="P0" Foreground="Black" />
  141. <TextBlock textwrapping="Wrap" VerticalAlignment="Bottom" Grid.Row="3" HorizontalAlignment="Right" FontFamily="Microsoft JhengHei"
  142. Text="結果" Foreground="Black" />
  143. <Border Grid.Column="1" HorizontalAlignment="Right" Grid.Row="3" VerticalAlignment="Bottom" Background="#7FFFFF00"
  144. CornerRadius="3" Padding="3">
  145. <TextBlock textwrapping="Wrap" Language="zh-TW" FontFamily="Microsoft JhengHei"
  146. Text="{Binding Value,ElementName=sldSlider2,StringFormat=C}" Foreground="Black" />
  147. </Border>
  148. <Border Grid.Column="2" HorizontalAlignment="Right" Grid.Row="3" VerticalAlignment="Bottom" Background="#7FFFFF00"
  149. CornerRadius="3" Padding="3">
  150. <TextBlock textwrapping="Wrap" FontFamily="Microsoft JhengHei" Text="{Binding Value,StringFormat=P}"
  151. Foreground="Black" />
  152. </Border>
  153. <Border Grid.Column="3" HorizontalAlignment="Right" Grid.Row="3" VerticalAlignment="Bottom" Background="#7FFFFF00"
  154. CornerRadius="3" Padding="3">
  155. <TextBlock textwrapping="Wrap" FontFamily="Microsoft JhengHei"
  156. Text="{Binding Value,StringFormat=00.00}" Foreground="Black" />
  157. </Border>
  158. <Border Grid.Column="4" HorizontalAlignment="Right" Grid.Row="3" VerticalAlignment="Bottom" Background="#7FFFFF00"
  159. CornerRadius="3" Padding="3">
  160. <TextBlock textwrapping="Wrap" FontFamily="Microsoft JhengHei" Text="{Binding Value,StringFormat=P0}"
  161. Foreground="Black" />
  162. </Border>
  163. </Grid>
  164. <Grid Grid.Row="3" Margin="20,10">
  165. <Grid.ColumnDeFinitions>
  166. <ColumnDeFinition Width="Auto" />
  167. <ColumnDeFinition />
  168. <ColumnDeFinition />
  169. <ColumnDeFinition />
  170. <ColumnDeFinition />
  171. </Grid.ColumnDeFinitions>
  172. <Grid.RowDeFinitions>
  173. <RowDeFinition Height="Auto" />
  174. <RowDeFinition />
  175. <RowDeFinition />
  176. <RowDeFinition />
  177. </Grid.RowDeFinitions>
  178. <StackPanel HorizontalAlignment="Left" Orientation="Horizontal" d:LayoutOverrides="GridBox" Grid.ColumnSpan="10">
  179. <TextBlock textwrapping="Wrap" Text="請選擇日期:" VerticalAlignment="Center" FontFamily="Microsoft JhengHei" FontSize="16"
  180. Foreground="Black" />
  181. <sdk:DatePicker Name="dtDatePicker1" VerticalAlignment="Center" MinWidth="200" Padding="10,3,0" />
  182. </StackPanel>
  183. <TextBlock textwrapping="Wrap" VerticalAlignment="Bottom" Grid.Row="1" HorizontalAlignment="Right" FontFamily="Microsoft JhengHei"
  184. Text="說明" Foreground="Black" />
  185. <TextBlock textwrapping="Wrap" Grid.Column="1" Grid.Row="1" HorizontalAlignment="Right" VerticalAlignment="Bottom"
  186. FontFamily="Microsoft JhengHei" Text="以月(文字) 日,年 西元 顯示" Foreground="Black" />
  187. <TextBlock textwrapping="Wrap" Grid.Column="2" Grid.Row="1" HorizontalAlignment="Right" VerticalAlignment="Bottom"
  188. FontFamily="Microsoft JhengHei" Text="以預設長時間格式顯示" Foreground="Black" />
  189. <TextBlock textwrapping="Wrap" Grid.Column="3" Grid.Row="1" HorizontalAlignment="Right" VerticalAlignment="Bottom"
  190. FontFamily="Microsoft JhengHei" Text="以年/月/日顯示" Foreground="Black" />
  191. <TextBlock textwrapping="Wrap" Grid.Column="4" Grid.Row="1" HorizontalAlignment="Right" VerticalAlignment="Bottom"
  192. FontFamily="Microsoft JhengHei" Text="以月,年顯示" Foreground="Black" />
  193. <TextBlock textwrapping="Wrap" VerticalAlignment="Bottom" Grid.Row="2" HorizontalAlignment="Right" FontFamily="Microsoft JhengHei"
  194. Text="StringFormat" Foreground="Black" />
  195. <TextBlock textwrapping="Wrap" Grid.Column="1" Grid.Row="2" HorizontalAlignment="Right" VerticalAlignment="Bottom"
  196. FontFamily="Microsoft JhengHei" Text="MMMM dd,yyyy g" Foreground="Black" />
  197. <TextBlock textwrapping="Wrap" Grid.Column="2" Grid.Row="2" HorizontalAlignment="Right" VerticalAlignment="Bottom"
  198. FontFamily="Microsoft JhengHei" Text="G" Foreground="Black" />
  199. <TextBlock textwrapping="Wrap" Grid.Column="3" Grid.Row="2" HorizontalAlignment="Right" VerticalAlignment="Bottom"
  200. FontFamily="Microsoft JhengHei" Text="yyyy/MM/dd" Foreground="Black" />
  201. <TextBlock textwrapping="Wrap" Grid.Column="4" Grid.Row="2" HorizontalAlignment="Right" VerticalAlignment="Bottom"
  202. FontFamily="Microsoft JhengHei" Text="Y" Foreground="Black" />
  203. <TextBlock textwrapping="Wrap" VerticalAlignment="Bottom" Grid.Row="3" HorizontalAlignment="Right" FontFamily="Microsoft JhengHei"
  204. Text="結果" Foreground="Black" />
  205. <Border Grid.Column="1" HorizontalAlignment="Right" Grid.Row="3" VerticalAlignment="Bottom" Background="#7FFFFF00"
  206. CornerRadius="3" Padding="3">
  207. <TextBlock textwrapping="Wrap" Language="zh-TW" FontFamily="Microsoft JhengHei"
  208. Text="{Binding SelectedDate,ElementName=dtDatePicker1}" Foreground="Black" />
  209. </Border>
  210. <Border Grid.Column="2" HorizontalAlignment="Right" Grid.Row="3" VerticalAlignment="Bottom" Background="#7FFFFF00"
  211. CornerRadius="3" Padding="3">
  212. <TextBlock textwrapping="Wrap" FontFamily="Microsoft JhengHei"
  213. Text="{Binding SelectedDate,ElementName=dtDatePicker1,StringFormat=G}" Foreground="Black" />
  214. </Border>
  215. <Border Grid.Column="3" HorizontalAlignment="Right" Grid.Row="3" VerticalAlignment="Bottom" Background="#7FFFFF00"
  216. CornerRadius="3" Padding="3">
  217. <TextBlock textwrapping="Wrap" FontFamily="Microsoft JhengHei"
  218. Text="{Binding SelectedDate,StringFormat=yyyy/MM/dd}" Foreground="Black" />
  219. </Border>
  220. <Border Grid.Column="4" HorizontalAlignment="Right" Grid.Row="3" VerticalAlignment="Bottom" Background="#7FFFFF00"
  221. CornerRadius="3" Padding="3">
  222. <TextBlock textwrapping="Wrap" Language="zh-TW" FontFamily="Microsoft JhengHei"
  223. Text="{Binding SelectedDate,StringFormat=Y}" Foreground="Black" />
  224. </Border>
  225. </Grid>
  226. </Grid>
  227. </Border>
  228. </Theme:ExpressionDarkTheme>
  229. </UserControl>
<UserControl x:Class="SL_BindingWithStringFormat.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:system="clr-namespace:System;assembly=mscorlib"
        xmlns:Theme="clr-namespace:System.Windows.Controls.Theming;assembly=System.Windows.Controls.Theming.ExpressionDark"
        xmlns:toolkit="clr-namespace:Microsoft.Windows;assembly=System.Windows.Controls.Toolkit" mc:Ignorable="d" d:DesignHeight="600"
        d:DesignWidth="700" xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk" Background="White">
    <Theme:ExpressionDarkTheme Background="{x:Null}">
        <Border BorderThickness="2" BorderBrush="#FF646464" CornerRadius="10" Background="White" Margin="10">
            <Border.Effect>
                <DropShadowEffect />
            </Border.Effect>
            <Grid Margin="2,2">
                <Grid.RowDeFinitions>
                    <RowDeFinition Height="Auto" />
                    <RowDeFinition />
                    <RowDeFinition />
                    <RowDeFinition />
                </Grid.RowDeFinitions>
                <TextBlock HorizontalAlignment="Center" textwrapping="Wrap" Text="Silverlight StringFormat 範例" FontSize="24"
                        VerticalAlignment="Center" Margin="5,10" Foreground="#FF646464" FontWeight="Bold" FontFamily="Microsoft JhengHei" />
                <Rectangle Fill="#FF646464" Height="2" VerticalAlignment="Bottom" Margin="20,0" />
                <ViewBox Grid.Row="1" Margin="0,10" HorizontalAlignment="Right" VerticalAlignment="Center" Opacity="0.2" d:IsLocked="True">
                    <TextBlock textwrapping="Wrap" Text="一般字串格式" FontSize="21.333" Foreground="#FF646464" FontWeight="Bold" FontStyle="Italic"
                            FontFamily="Microsoft JhengHei" />
                </ViewBox>
                <ViewBox Margin="0,10" Grid.Row="2" HorizontalAlignment="Right" VerticalAlignment="Center" Opacity="0.2" d:IsLocked="True">
                    <TextBlock textwrapping="Wrap" Text="數字格式" FontSize="21.333" Foreground="#FF646464" FontStyle="Italic" FontWeight="Bold"
                            FontFamily="Microsoft JhengHei" />
                </ViewBox>
                <ViewBox Grid.Row="3" Margin="0,10" HorizontalAlignment="Right" VerticalAlignment="Center" Opacity="0.2" d:IsLocked="True">
                    <TextBlock textwrapping="Wrap" Text="日期格式" FontSize="21.333" Foreground="#FF646464" FontStyle="Italic" FontWeight="Bold"
                            FontFamily="Microsoft JhengHei" />
                </ViewBox>
                <Grid Grid.Row="1" Margin="20,10">
                    <Grid.ColumnDeFinitions>
                        <ColumnDeFinition Width="Auto" />
                        <ColumnDeFinition />
                        <ColumnDeFinition />
                        <ColumnDeFinition />
                        <ColumnDeFinition />
                    </Grid.ColumnDeFinitions>
                    <Grid.RowDeFinitions>
                        <RowDeFinition Height="Auto" />
                        <RowDeFinition />
                        <RowDeFinition />
                        <RowDeFinition />
                    </Grid.RowDeFinitions>
                    <StackPanel HorizontalAlignment="Left" Orientation="Horizontal" Grid.ColumnSpan="10" Margin="0,20" d:LayoutOverrides="GridBox">
                        <TextBlock textwrapping="Wrap" Text="請在文字方塊中輸入文字:" VerticalAlignment="Center" FontFamily="Microsoft JhengHei" FontSize="16"
                                Foreground="Black" />
                        <TextBox x:Name="txtTextBox1" textwrapping="Wrap" VerticalAlignment="Center" MinWidth="250" FontFamily="Microsoft JhengHei"
                                FontSize="14.667" Background="#7F323232" Text="我是範例" />
                    </StackPanel>
                    <TextBlock textwrapping="Wrap" VerticalAlignment="Bottom" Grid.Row="1" HorizontalAlignment="Right" FontFamily="Microsoft JhengHei"
                            Text="說明" Foreground="Black" />
                    <TextBlock textwrapping="Wrap" Grid.Column="1" Grid.Row="1" HorizontalAlignment="Right" VerticalAlignment="Bottom"
                            FontFamily="Microsoft JhengHei" Text="加入特定文字" Foreground="Black" />
                    <TextBlock textwrapping="Wrap" Grid.Column="2" Grid.Row="1" HorizontalAlignment="Right" VerticalAlignment="Bottom"
                            FontFamily="Microsoft JhengHei" Text="左右加上括弧" Foreground="Black" />
                    <TextBlock textwrapping="Wrap" Grid.Column="3" Grid.Row="1" HorizontalAlignment="Right" VerticalAlignment="Bottom"
                            FontFamily="Microsoft JhengHei" Text="左邊加上空白" Foreground="Black" />
                    <TextBlock textwrapping="Wrap" Grid.Column="4" Grid.Row="1" HorizontalAlignment="Right" VerticalAlignment="Bottom"
                            FontFamily="Microsoft JhengHei" Text="右邊加上空白" Foreground="Black" />
                    <TextBlock textwrapping="Wrap" VerticalAlignment="Bottom" Grid.Row="2" HorizontalAlignment="Right" FontFamily="Microsoft JhengHei"
                            Text="StringFormat" Foreground="Black" />
                    <TextBlock textwrapping="Wrap" Grid.Column="1" Grid.Row="2" HorizontalAlignment="Right" VerticalAlignment="Bottom"
                            FontFamily="Microsoft JhengHei" Text="您輸入的是:&quot;{0}&quot;" Foreground="Black" />
                    <TextBlock textwrapping="Wrap" Grid.Column="2" Grid.Row="2" HorizontalAlignment="Right" VerticalAlignment="Bottom"
                            FontFamily="Microsoft JhengHei" Text="({0})" Foreground="Black" />
                    <TextBlock textwrapping="Wrap" Grid.Column="3" Grid.Row="2" HorizontalAlignment="Right" VerticalAlignment="Bottom"
                            FontFamily="Microsoft JhengHei" Text="{}{0,15}" Foreground="Black" />
                    <TextBlock textwrapping="Wrap" Grid.Column="4" Grid.Row="2" HorizontalAlignment="Right" VerticalAlignment="Bottom"
                            FontFamily="Microsoft JhengHei" Text="{}{0,-15}" Foreground="Black" />
                    <TextBlock textwrapping="Wrap" VerticalAlignment="Bottom" Grid.Row="3" HorizontalAlignment="Right" FontFamily="Microsoft JhengHei"
                            Text="結果" Foreground="Black" />
                    <Border Grid.Column="1" HorizontalAlignment="Right" Grid.Row="3" VerticalAlignment="Bottom" Background="#7FFFFF00"
                            CornerRadius="3" Padding="3">
                        <TextBlock textwrapping="Wrap" FontFamily="Microsoft JhengHei"
                                Text="{Binding Text,StringFormat=您輸入的是:\&quot;\{0\}\&quot;}" Foreground="Black" />
                    </Border>
                    <Border Grid.Column="2" HorizontalAlignment="Right" Grid.Row="3" VerticalAlignment="Bottom" Background="#7FFFFF00"
                            CornerRadius="3" Padding="3">
                        <TextBlock textwrapping="Wrap" FontFamily="Microsoft JhengHei"
                                Text="{Binding Text,StringFormat=(\{0\})}" Foreground="Black" />
                    </Border>
                    <Border Grid.Column="3" HorizontalAlignment="Right" Grid.Row="3" VerticalAlignment="Bottom" Background="#7FFFFF00"
                            CornerRadius="3" Padding="3">
                        <TextBlock textwrapping="Wrap" FontFamily="Microsoft JhengHei"
                                Text="{Binding Text,15\}}" Foreground="Black" />
                    </Border>
                    <Border Grid.Column="4" HorizontalAlignment="Right" Grid.Row="3" VerticalAlignment="Bottom" Background="#7FFFFF00"
                            CornerRadius="3" Padding="3">
                        <TextBlock textwrapping="Wrap" FontFamily="Microsoft JhengHei"
                                Text="{Binding Text,-15\}}" Foreground="Black" />
                    </Border>
                </Grid>
                <Rectangle Fill="#FF646464" Height="2" VerticalAlignment="Bottom" Margin="20,0" Grid.Row="1" Opacity="0.5" />
                <Grid Grid.Row="2" Margin="10" d:IsLocked="True" />
                <Rectangle Fill="#FF646464" Height="2" VerticalAlignment="Bottom" Margin="20,0" Grid.Row="2" Opacity="0.5" />
                <Grid Grid.Row="3" Margin="10,0" d:IsLocked="True" Height="116" VerticalAlignment="Top" />
                <Grid Grid.Row="3" Margin="10,10" d:IsLocked="True" Height="116" VerticalAlignment="Bottom" />
                <Grid Grid.Row="2" Margin="20,10">
                    <Grid.ColumnDeFinitions>
                        <ColumnDeFinition Width="Auto" />
                        <ColumnDeFinition />
                        <ColumnDeFinition />
                        <ColumnDeFinition />
                        <ColumnDeFinition />
                    </Grid.ColumnDeFinitions>
                    <Grid.RowDeFinitions>
                        <RowDeFinition Height="Auto" />
                        <RowDeFinition />
                        <RowDeFinition />
                        <RowDeFinition />
                    </Grid.RowDeFinitions>
                    <StackPanel HorizontalAlignment="Left" Orientation="Horizontal" d:LayoutOverrides="GridBox" Grid.ColumnSpan="10">
                        <TextBlock textwrapping="Wrap" Text="請移動滑桿:" VerticalAlignment="Center" FontFamily="Microsoft JhengHei" FontSize="16"
                                Foreground="Black" />
                        <Slider x:Name="sldSlider2" VerticalAlignment="Center" MinWidth="300" Minimum="-10" Maximum="10" Value="3.2" />
                    </StackPanel>
                    <TextBlock textwrapping="Wrap" VerticalAlignment="Bottom" Grid.Row="1" HorizontalAlignment="Right" FontFamily="Microsoft JhengHei"
                            Text="說明" Foreground="Black" />
                    <TextBlock textwrapping="Wrap" Grid.Column="1" Grid.Row="1" HorizontalAlignment="Right" VerticalAlignment="Bottom"
                            FontFamily="Microsoft JhengHei" Text="以貨幣格式顯示" Foreground="Black" />
                    <TextBlock textwrapping="Wrap" Grid.Column="2" Grid.Row="1" HorizontalAlignment="Right" VerticalAlignment="Bottom"
                            FontFamily="Microsoft JhengHei" Text="以百分比顯示" Foreground="Black" />
                    <TextBlock textwrapping="Wrap" Grid.Column="3" Grid.Row="1" HorizontalAlignment="Right" VerticalAlignment="Bottom"
                            FontFamily="Microsoft JhengHei" Text="使用自訂格式" Foreground="Black" />
                    <TextBlock textwrapping="Wrap" Grid.Column="4" Grid.Row="1" HorizontalAlignment="Right" VerticalAlignment="Bottom"
                            FontFamily="Microsoft JhengHei" Text="使用無小數點的百分比顯示" Foreground="Black" />
                    <TextBlock textwrapping="Wrap" VerticalAlignment="Bottom" Grid.Row="2" HorizontalAlignment="Right" FontFamily="Microsoft JhengHei"
                            Text="StringFormat" Foreground="Black" />
                    <TextBlock textwrapping="Wrap" Grid.Column="1" Grid.Row="2" HorizontalAlignment="Right" VerticalAlignment="Bottom"
                            FontFamily="Microsoft JhengHei" Text="C" Foreground="Black" />
                    <TextBlock textwrapping="Wrap" Grid.Column="2" Grid.Row="2" HorizontalAlignment="Right" VerticalAlignment="Bottom"
                            FontFamily="Microsoft JhengHei" Text="P" Foreground="Black" />
                    <TextBlock textwrapping="Wrap" Grid.Column="3" Grid.Row="2" HorizontalAlignment="Right" VerticalAlignment="Bottom"
                            FontFamily="Microsoft JhengHei" Text="00.00" Foreground="Black" />
                    <TextBlock textwrapping="Wrap" Grid.Column="4" Grid.Row="2" HorizontalAlignment="Right" VerticalAlignment="Bottom"
                            FontFamily="Microsoft JhengHei" Text="P0" Foreground="Black" />
                    <TextBlock textwrapping="Wrap" VerticalAlignment="Bottom" Grid.Row="3" HorizontalAlignment="Right" FontFamily="Microsoft JhengHei"
                            Text="結果" Foreground="Black" />
                    <Border Grid.Column="1" HorizontalAlignment="Right" Grid.Row="3" VerticalAlignment="Bottom" Background="#7FFFFF00"
                            CornerRadius="3" Padding="3">
                        <TextBlock textwrapping="Wrap" Language="zh-TW" FontFamily="Microsoft JhengHei"
                                Text="{Binding Value,StringFormat=C}" Foreground="Black" />
                    </Border>
                    <Border Grid.Column="2" HorizontalAlignment="Right" Grid.Row="3" VerticalAlignment="Bottom" Background="#7FFFFF00"
                            CornerRadius="3" Padding="3">
                        <TextBlock textwrapping="Wrap" FontFamily="Microsoft JhengHei" Text="{Binding Value,StringFormat=P}"
                                Foreground="Black" />
                    </Border>
                    <Border Grid.Column="3" HorizontalAlignment="Right" Grid.Row="3" VerticalAlignment="Bottom" Background="#7FFFFF00"
                            CornerRadius="3" Padding="3">
                        <TextBlock textwrapping="Wrap" FontFamily="Microsoft JhengHei"
                                Text="{Binding Value,StringFormat=00.00}" Foreground="Black" />
                    </Border>
                    <Border Grid.Column="4" HorizontalAlignment="Right" Grid.Row="3" VerticalAlignment="Bottom" Background="#7FFFFF00"
                            CornerRadius="3" Padding="3">
                        <TextBlock textwrapping="Wrap" FontFamily="Microsoft JhengHei" Text="{Binding Value,StringFormat=P0}"
                                Foreground="Black" />
                    </Border>
                </Grid>
                <Grid Grid.Row="3" Margin="20,10">
                    <Grid.ColumnDeFinitions>
                        <ColumnDeFinition Width="Auto" />
                        <ColumnDeFinition />
                        <ColumnDeFinition />
                        <ColumnDeFinition />
                        <ColumnDeFinition />
                    </Grid.ColumnDeFinitions>
                    <Grid.RowDeFinitions>
                        <RowDeFinition Height="Auto" />
                        <RowDeFinition />
                        <RowDeFinition />
                        <RowDeFinition />
                    </Grid.RowDeFinitions>
                    <StackPanel HorizontalAlignment="Left" Orientation="Horizontal" d:LayoutOverrides="GridBox" Grid.ColumnSpan="10">
                        <TextBlock textwrapping="Wrap" Text="請選擇日期:" VerticalAlignment="Center" FontFamily="Microsoft JhengHei" FontSize="16"
                                Foreground="Black" />
                        <sdk:DatePicker Name="dtDatePicker1" VerticalAlignment="Center" MinWidth="200" Padding="10,0" />
                    </StackPanel>
                    <TextBlock textwrapping="Wrap" VerticalAlignment="Bottom" Grid.Row="1" HorizontalAlignment="Right" FontFamily="Microsoft JhengHei"
                            Text="說明" Foreground="Black" />
                    <TextBlock textwrapping="Wrap" Grid.Column="1" Grid.Row="1" HorizontalAlignment="Right" VerticalAlignment="Bottom"
                            FontFamily="Microsoft JhengHei" Text="以月(文字) 日,年 西元 顯示" Foreground="Black" />
                    <TextBlock textwrapping="Wrap" Grid.Column="2" Grid.Row="1" HorizontalAlignment="Right" VerticalAlignment="Bottom"
                            FontFamily="Microsoft JhengHei" Text="以預設長時間格式顯示" Foreground="Black" />
                    <TextBlock textwrapping="Wrap" Grid.Column="3" Grid.Row="1" HorizontalAlignment="Right" VerticalAlignment="Bottom"
                            FontFamily="Microsoft JhengHei" Text="以年/月/日顯示" Foreground="Black" />
                    <TextBlock textwrapping="Wrap" Grid.Column="4" Grid.Row="1" HorizontalAlignment="Right" VerticalAlignment="Bottom"
                            FontFamily="Microsoft JhengHei" Text="以月,年顯示" Foreground="Black" />
                    <TextBlock textwrapping="Wrap" VerticalAlignment="Bottom" Grid.Row="2" HorizontalAlignment="Right" FontFamily="Microsoft JhengHei"
                            Text="StringFormat" Foreground="Black" />
                    <TextBlock textwrapping="Wrap" Grid.Column="1" Grid.Row="2" HorizontalAlignment="Right" VerticalAlignment="Bottom"
                            FontFamily="Microsoft JhengHei" Text="MMMM dd,yyyy g" Foreground="Black" />
                    <TextBlock textwrapping="Wrap" Grid.Column="2" Grid.Row="2" HorizontalAlignment="Right" VerticalAlignment="Bottom"
                            FontFamily="Microsoft JhengHei" Text="G" Foreground="Black" />
                    <TextBlock textwrapping="Wrap" Grid.Column="3" Grid.Row="2" HorizontalAlignment="Right" VerticalAlignment="Bottom"
                            FontFamily="Microsoft JhengHei" Text="yyyy/MM/dd" Foreground="Black" />
                    <TextBlock textwrapping="Wrap" Grid.Column="4" Grid.Row="2" HorizontalAlignment="Right" VerticalAlignment="Bottom"
                            FontFamily="Microsoft JhengHei" Text="Y" Foreground="Black" />
                    <TextBlock textwrapping="Wrap" VerticalAlignment="Bottom" Grid.Row="3" HorizontalAlignment="Right" FontFamily="Microsoft JhengHei"
                            Text="結果" Foreground="Black" />
                    <Border Grid.Column="1" HorizontalAlignment="Right" Grid.Row="3" VerticalAlignment="Bottom" Background="#7FFFFF00"
                            CornerRadius="3" Padding="3">
                        <TextBlock textwrapping="Wrap" Language="zh-TW" FontFamily="Microsoft JhengHei"
                                Text="{Binding SelectedDate,ElementName=dtDatePicker1}" Foreground="Black" />
                    </Border>
                    <Border Grid.Column="2" HorizontalAlignment="Right" Grid.Row="3" VerticalAlignment="Bottom" Background="#7FFFFF00"
                            CornerRadius="3" Padding="3">
                        <TextBlock textwrapping="Wrap" FontFamily="Microsoft JhengHei"
                                Text="{Binding SelectedDate,StringFormat=G}" Foreground="Black" />
                    </Border>
                    <Border Grid.Column="3" HorizontalAlignment="Right" Grid.Row="3" VerticalAlignment="Bottom" Background="#7FFFFF00"
                            CornerRadius="3" Padding="3">
                        <TextBlock textwrapping="Wrap" FontFamily="Microsoft JhengHei"
                                Text="{Binding SelectedDate,StringFormat=yyyy/MM/dd}" Foreground="Black" />
                    </Border>
                    <Border Grid.Column="4" HorizontalAlignment="Right" Grid.Row="3" VerticalAlignment="Bottom" Background="#7FFFFF00"
                            CornerRadius="3" Padding="3">
                        <TextBlock textwrapping="Wrap" Language="zh-TW" FontFamily="Microsoft JhengHei"
                                Text="{Binding SelectedDate,StringFormat=Y}" Foreground="Black" />
                    </Border>
                </Grid>
            </Grid>
        </Border>
    </Theme:ExpressionDarkTheme>
</UserControl>

雖然只能透過Binding來設定StringFormat屬性,不過在Silverlight中,還是可以透過控制項的Language屬性來達到當地化語系顯示的效果;而WPF中的HeaderStringFormat等等屬性,在Silverlight中也可以透過修改控制項的Template來達成一樣的效果,還是很方便的啦!!

如果需要參考和StringFormat相關的用法,可以參考以下MSDN連結:

Formatting Types

Composite Formatting

Standard Date and Time Format Strings

Custom Date and Time Format Strings

Standard Numeric Format Strings

Custom Numeric Format Strings

Enumeration Format Strings

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐