Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu örnekte bağlamalarda kullanılan verilere dönüştürmenin nasıl uygulanacağı gösterilmektedir.
Bağlama sırasında verileri dönüştürmek için IValueConverter ve Convert yöntemlerini içeren ConvertBack arabirimini uygulayan bir sınıf oluşturmanız gerekir.
Örnek
Aşağıdaki örnek, yalnızca yıl, ay ve günü göstermesi için geçirilen tarih değerini dönüştüren bir tarih dönüştürücüsü uygulamasını gösterir. IValueConverter arabirimini uygularken, aşağıdaki örnekte olduğu gibi geliştirme araçlarına dönüştürmeye dahil olan veri türlerini göstermek için uygulamayı ValueConversionAttribute özniteliğiyle süslemek iyi bir uygulamadır:
[ValueConversion(typeof(DateTime), typeof(String))]
public class DateConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
DateTime date = (DateTime)value;
return date.ToShortDateString();
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
string strValue = value as string;
DateTime resultDateTime;
if (DateTime.TryParse(strValue, out resultDateTime))
{
return resultDateTime;
}
return DependencyProperty.UnsetValue;
}
}
Public Class DateConverter
Implements System.Windows.Data.IValueConverter
Public Function Convert(ByVal value As Object,
ByVal targetType As System.Type,
ByVal parameter As Object,
ByVal culture As System.Globalization.CultureInfo) _
As Object Implements System.Windows.Data.IValueConverter.Convert
Dim DateValue As DateTime = CType(value, DateTime)
Return DateValue.ToShortDateString
End Function
Public Function ConvertBack(ByVal value As Object,
ByVal targetType As System.Type,
ByVal parameter As Object,
ByVal culture As System.Globalization.CultureInfo) _
As Object Implements System.Windows.Data.IValueConverter.ConvertBack
Dim strValue As String = value
Dim resultDateTime As DateTime
If DateTime.TryParse(strValue, resultDateTime) Then
Return resultDateTime
End If
Return DependencyProperty.UnsetValue
End Function
End Class
Bir dönüştürücü oluşturduktan sonra, bunu Genişletilebilir Uygulama biçimlendirme dili (XAML) dosyanıza kaynak olarak ekleyebilirsiniz. Aşağıdaki örnekte src, DateConverter tanımlandığı ad alanıyla eşlenir.
<src:DateConverter x:Key="dateConverter"/>
Son olarak, aşağıdaki söz dizimini kullanarak bağlamanızda dönüştürücüsü kullanabilirsiniz. Aşağıdaki örnekte, TextBlock metin içeriği, bir dış veri kaynağının özelliği olan StartDate'ebağlıdır.
<TextBlock Grid.Row="2" Grid.Column="0" Margin="0,0,8,0"
Name="startDateTitle"
Style="{StaticResource smallTitleStyle}">Start Date:</TextBlock>
<TextBlock Name="StartDateDTKey" Grid.Row="2" Grid.Column="1"
Text="{Binding Path=StartDate, Converter={StaticResource dateConverter}}"
Style="{StaticResource textStyleTextBlock}"/>
Yukarıdaki örnekte başvuruda bulunan stil kaynakları, bu konuda gösterilmeyen bir kaynak bölümünde tanımlanmıştır.
Ayrıca bakınız
.NET Desktop feedback