SORU
10 Aralık 2008, ÇARŞAMBA


DataTrigger nerede değeri null DEĞİL mi?

Eğer değer NULL olup olmadığını denetler ve bir şeyler yapmak konusunda bir pasör yapabilirim biliyorum. Örnek:

<TextBlock>
  <TextBlock.Style>
    <Style>
      <Style.Triggers>
        <DataTrigger Binding="{Binding SomeField}" Value="{x:Null}">
          <Setter Property="TextBlock.Text" Value="It's NULL Baby!" />
        </DataTrigger>
      </Style.Triggers>
    </Style>
  </TextBlock.Style>
</TextBlock>

Ama nasıl kontrol edebilirim "" değeri olarak "NULL" veya "= 3" değil mi? Bu mümkün XAML?

Sonuçlar:Cevaplarınız için teşekkürler... değer bir dönüştürücü yapabileceğimi biliyordum kod girmeme gerek ki, o zaman umduğum gibi saf XAML olmaz anlamına gelir). Ancak, "saf olarak XAML. yapamayacağın hiçbir soruya etkili bir cevap yok Cevap seçilmiş, ancak, muhtemelen en iyi yolu gösteriroluşturunböyle bir işlevsellik. İyi buluyorum.

CEVAP
10 Aralık 2008, ÇARŞAMBA


Bunun için bir İValueConverter kullanabilirsiniz:

<TextBlock>
    <TextBlock.Resources>
        <conv:IsNullConverter x:Key="isNullConverter"/>
    </TextBlock.Resources>
    <TextBlock.Style>
        <Style>
            <Style.Triggers>
                <DataTrigger Binding="{Binding SomeField, Converter={StaticResource isNullConverter}}" Value="False">
                    <Setter Property="TextBlock.Text" Value="It's NOT NULL Baby!"/>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </TextBlock.Style>
</TextBlock>

Nerede İsNullConverter başka bir yerde (ve dönş başvuru için kendi ad set) tanımlanır:

public class IsNullConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        return (value == null);
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        throw new InvalidOperationException("IsNullConverter can only be used OneWay.");
    }
}

Daha genel bir çözüm her şeye karşı kontrol edebilirsiniz böylece ConverterParameter eşit olup olmadığını kontrol eden bir İValueConverter uygulamak olacaktır, ve sadece boş.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AutoHotkey Tutorials

    AutoHotkey T

    29 Mayıs 2010
  • Friday NightFort

    Friday Night

    15 EYLÜL 2011
  • Leigh Momii

    Leigh Momii

    10 Mayıs 2006