Labelを使いこなす WPF

VB Tips And Sample(HOME)VBプログラマの為のWPF入門

Labelを使いこなす WPF

Labelは、必ず使うと言ってもいいかも知れないコントロールの一つ。
まず、Label内での改行だが、vbCrLfでVB側でコンテンツを指定しないといけないようだ。
あと、非常に気になる、ContentStringFormatだが、Contentが数値でないと、"###-###-###"等の指定は無効になるので注意が必要だ。
たとえば、郵便番号は文字列で格納しているDBから、読み出して、ContentStringFormatで指定しても意味が無い。
そういう時は、SQLServerであれば、SQL側でやるなら、cast([郵便番号] as decimal)等で型変換してやる必要がある。
ま、一つぐらいならVB側でやればよいが、データグリッドに大量に表示する際はSQL側で行うでしょうね。
Labelの改行とContentStringFormat


Public Class Label

    Private Sub Label_Loaded(sender As Object, e As System.Windows.RoutedEventArgs) Handles Me.Loaded
        Me.Label1.Content = "改行" & vbCrLf & "改行"

        Me.lbl2.ContentStringFormat = "###,###"
        lbl2.Content = 99999999999
        lbl3.Content = 99999999999
        lbl4.Content = "99999999999" 文字列ではContentStringFormatで指定しても意味が無い
    End Sub

 
End Class



<Window x:Class="Label"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Label" Height="300" Width="300" WindowStartupLocation="CenterScreen">
    <Grid>
                       
        <StackPanel xmlns:sys="clr-namespace:System;assembly=mscorlib">
            
            <Label Height="Auto" HorizontalAlignment="Left" Name="Label1" VerticalAlignment="Top" >改行するのに、これは無駄
                DDDDDDDDDDDDDD</Label>
            <Label  Height="28" HorizontalAlignment="Left" Margin="60,69,0,0" Name="Label2" VerticalAlignment="Top" Width="129" ContentStringFormat="yyyy年MM月dd" >
                <x:Static Member="sys:DateTime.Now"/>
            </Label>

            <Label Name="lbl2"  >
                
            </Label>
            <Label Name="lbl3" Background="#FFAFCEA9" ContentStringFormat="###-###-###"   >
                
            </Label>

            <Label Name="lbl4" Background="#FFAFCEA9" ContentStringFormat="###-###-###"   >

            </Label>
        </StackPanel>

    </Grid>
</Window>



VB Tips And Sample(HOME)VBプログラマの為のWPF入門