Cara: Mengonversi Data Terikat
Contoh ini menunjukkan cara menerapkan konversi ke data yang digunakan dalam pengikatan.
Untuk mengonversi data selama pengikatan, Anda harus membuat kelas yang mengimplementasikan IValueConverter antarmuka, yang mencakup Convert metode dan ConvertBack .
Contoh
Contoh berikut menunjukkan implementasi pengonversi tanggal yang mengonversi nilai tanggal yang diteruskan sehingga hanya menunjukkan tahun, bulan, dan hari. Saat menerapkan IValueConverter antarmuka, adalah praktik yang baik untuk menghias implementasi dengan ValueConversionAttribute atribut untuk menunjukkan alat pengembangan jenis data yang terlibat dalam konversi, seperti dalam contoh berikut:
[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
Setelah membuat pengonversi, Anda dapat menambahkannya sebagai sumber daya dalam file Extensible Application Markup Language (XAML). Dalam contoh berikut, src memetakan ke namespace layanan tempat DateConverter ditentukan.
<src:DateConverter x:Key="dateConverter"/>
Terakhir, Anda dapat menggunakan pengonversi dalam pengikatan Menggunakan sintaks berikut. Dalam contoh berikut, konten TextBlock teks terikat ke StartDate, yang merupakan properti sumber data eksternal.
<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}"/>
Sumber daya gaya yang dirujuk dalam contoh di atas ditentukan di bagian sumber daya yang tidak diperlihatkan dalam topik ini.
Baca juga
.NET Desktop feedback
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk