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 > bool Visibility

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

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


public class BooleanToVisibilityConverter : IValueConverter
{
    public object Convert(object valueType targetTypeobject parameterstring language)
    {
        return (value is bool && (bool)value == true? Visibility.Visible : Visibility.Collapsed;
    }
 
    public object ConvertBack(object valueType targetTypeobject parameterstring language)
    {
        return value is Visibility && (Visibility)value == Visibility.Visible;
    }
}

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


<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:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/>


沒有留言:

張貼留言