Saya ingin mengaktifkan pemicu jika ID properti item terikat sama dengan properti di kontrol khusus saya.
Tapi saya tidak bisa menggunakan binding di pemicu saya!
Bagaimana saya melakukan ini?
Saya ingin mengaktifkan pemicu jika ID properti item terikat sama dengan properti di kontrol khusus saya.
Tapi saya tidak bisa menggunakan binding di pemicu saya!
Bagaimana saya melakukan ini?
Ini seharusnya berhasil:
<DataTrigger
Value="True">
<DataTrigger.Binding>
<MultiBinding
Converter="{x:Static local:EqualityConverter.Instance}">
<Binding
Path="BoundProperty" />
<Binding
ElementName="MockCustomControl"
Path="Text" />
</MultiBinding>
</DataTrigger.Binding>
<DataTrigger.Setters>
<Setter
TargetName=" ... "
Property=" ... "
Value=" ... " />
...
...
</DataTrigger.Setters>
</DataTrigger>
Dan konverternya mungkin mirip dengan ini:
public class EqualityConverter : IMultiValueConverter
{
public static readonly EqualityConverter Instance = new EqualityConverter();
#region IMultiValueConverter Members
public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (values == null || values.Length == 0) return false;
for (int i = 1; i < values.Length; i++)
if (!values[i].Equals(values[0])) return false;
return true;
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
#endregion
}
Perhatikan bahwa saya telah menggunakan konverter generik yang dapat menggabungkan nilai n, tetapi Anda dapat menggunakan yang sederhana sesuai kebutuhan Anda.
Semoga ini membantu.
MockCustomControl
) di pohon visual? Mungkin Anda dapat mengunggah proyek Anda di suatu tempat (seperti SkyDrive.com) sehingga saya dapat membantu Anda lebih lanjut :)
- person mg007; 19.03.2010
Properti nilai DataTrigger tidak memerlukan pengikatan?
<DataTrigger Binding="{Binding BoundPropertyId}" Value="{Binding ElementName=Mine, Path=Property}" />
Jika tidak berhasil, Anda mungkin perlu menghubungkan ke suatu peristiwa dan memprosesnya sendiri di belakang kode.