XAML in Xamarin.Forms 基礎篇 電子書

XAML in Xamarin.Forms 基礎篇 電子書
XAML in Xamarin.Forms 基礎篇 電子書

Xamarin.Forms 快速入門 電子書

Xamarin.Forms 快速入門 電子書
Xamarin.Forms 快速入門 電子書

2014/06/29

好用的 XAML 資料繫結 Data Binding 的轉換器 Converter > 字串為空值 Visibility

當我們使用 XAML 資料繫結 Data Binding的時候,透過轉換器 Converter,可以很容易地透過來源資料 Source Data 的數據值,直接控制或者影響 XAML 控制項 (Element)的顯示特性或者顯示內容。

底下是我常用的一個轉換器(Converter),當來源資料的欄位為字串類型的時候,並且該字串的為空字串,這個時候,該轉換器會回傳 Visibility.Visible 或者 Visibility.Collapsed ,這樣,就可以控制項是否要顯示出來。

這樣的轉換器通常我會用於:若主題或者說明文字不存在的時候,不要顯示相對應的按鈕或者圖片,是個相當好用的轉換器


public sealed class EmptyStringToVisibilityConverter : IValueConverter
{
    public object Convert(object valueType targetTypeobject parameterstring language)
    {
        return (value is string && (string)value != ""? Visibility.Visible : Visibility.Collapsed;
    }
 
    public object ConvertBack(object valueType targetTypeobject parameterstring language)
    {
        return value is Visibility && (Visibility)value == Visibility.Visible;
    }
}


最後,記得當要在某個頁面中使用該轉換器的時候,要加入該轉換器當時的命名空間 namespace 宣告,並且定義該轉換器成為可用的 Key
<Converters:EmptyStringToVisibilityConverter x:Key="EmptyStringToVisibilityConverter"/>


<ResourceDictionary
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:VulcanApp.Common"
    xmlns:Converters="using:VulcanApp.Converters"     
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    mc:Ignorable="d">
    <Converters:EmptyStringToVisibilityConverter x:Key="EmptyStringToVisibilityConverter"/>

沒有留言:

張貼留言