IValueConverter güncellemeleri yayılmasını nedeniyle: görünüm tarafındaReactiveList Şu anda bir kaydı düzenlemeye operatörlerin e-posta adresleri oluşan bir özelliğe sahip
public ReactiveList<string> Operators { get; set; }
, ben kayıtları bir ListView var ve bunların her biri bir simge için Geçerli kullanıcının düzenleme operatörü olup olmadığını gösterir.
<FontIcon Glyph="" Visibility="{Binding Operators,
Converter={StaticResource IsUserEditingToVisibilityConverter} }" />
Sorunum bir güncelleme Operatörleri oluştuğunda IsUserEditingToVisibilityConverter ait dönüştürme() yöntemi tetiklenir olmamasıdır. - Eğer bir şey yapmak olsaydı gibi
// Taken from https://blogs.msdn.microsoft.com/mim/2013/03/11/tips-winrt-converter-parameter-binding/
public class IsUserEditingToVisibilityConverter : DependencyObject, IValueConverter
{
public UserVm CurrentUser
{
get { return (UserVm)GetValue(CurrentUserProperty); }
set { SetValue(CurrentUserProperty, value); }
}
public static readonly DependencyProperty CurrentUserProperty =
DependencyProperty.Register("CurrentUser",
typeof(UserVm),
typeof(IsUserEditingToVisibilityConverter),
new PropertyMetadata(null));
public object Convert(object value, Type targetType, object parameter, string language)
{
if (this.CurrentUser == null) return Visibility.Collapsed;
if (this.CurrentUser.EmailAddress == null) return Visibility.Collapsed;
var operators = value as IList<string>;
if (operators != null && operators.Contains(this.CurrentUser.EmailAddress))
{
return Visibility.Visible;
}
return Visibility.Collapsed;
}
public object ConvertBack(object value, Type targetType, object parameter, string language)
{
throw new NotImplementedException();
}
}
Bir ReactiveList öğesinin eklenmesini tetikleyeceğini düşündüm. ed/kaldırıldı ... Ayrıca, alt viewmodel'deki Operatörler hakkında bilgi sahibi olsaydım, bu durumda çözümün iyi olacağını anladım. – ericdes