例
次の例は、 GridLengthConverterのインスタンスを作成して使用する方法を示しています。 この例では、changeCol
と呼ばれるカスタム メソッドを定義します。このメソッドは、ListBoxItemのGridLengthConverterをContentのインスタンスに変換するListBoxItemにGridLengthを渡します。 変換後の値は、Width要素のColumnDefinition プロパティの値として返されます。
この例では、 changeColVal
と呼ばれる 2 つ目のカスタム メソッドも定義します。 このカスタム メソッドは、ValueのSliderをStringに変換し、その値を要素のColumnDefinitionとしてWidthに渡します。
別の拡張アプリケーション マークアップ言語 (XAML) ファイルは、 ListBoxItemの内容を定義します。
private void changeColVal(object sender, RoutedEventArgs e)
{
txt1.Text = "Current Grid Column is " + hs1.Value.ToString();
}
private void changeCol(object sender, SelectionChangedEventArgs args)
{
ListBoxItem li = ((sender as ListBox).SelectedItem as ListBoxItem);
GridLengthConverter myGridLengthConverter = new GridLengthConverter();
if (hs1.Value == 0)
{
GridLength gl1 = (GridLength)myGridLengthConverter.ConvertFromString(li.Content.ToString());
col1.Width = gl1;
}
else if (hs1.Value == 1)
{
GridLength gl2 = (GridLength)myGridLengthConverter.ConvertFromString(li.Content.ToString());
col2.Width = gl2;
}
else if (hs1.Value == 2)
{
GridLength gl3 = (GridLength)myGridLengthConverter.ConvertFromString(li.Content.ToString());
col3.Width = gl3;
}
}
Private Sub changeColVal(ByVal sender As Object, ByVal args As RoutedPropertyChangedEventArgs(Of Double))
txt1.Text = "Current Grid Column is " + hs1.Value.ToString()
End Sub
Private Sub changeCol(ByVal sender As Object, ByVal args As SelectionChangedEventArgs)
Dim li1 As ListBoxItem = CType(CType(sender, ListBox).SelectedItem, ListBoxItem)
Dim myGridLengthConverter As System.Windows.GridLengthConverter = New System.Windows.GridLengthConverter()
If (hs1.Value = 0) Then
Dim gl1 As GridLength = CType(myGridLengthConverter.ConvertFromString(li1.Content.ToString()), GridLength)
col1.Width = gl1
ElseIf (hs1.Value = 1) Then
Dim gl2 As GridLength = CType(myGridLengthConverter.ConvertFromString(li1.Content.ToString()), GridLength)
col2.Width = gl2
ElseIf (hs1.Value = 2) Then
Dim gl3 As GridLength = CType(myGridLengthConverter.ConvertFromString(li1.Content.ToString()), GridLength)
col3.Width = gl3
End If
End Sub
こちらも参照ください
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET Desktop feedback