国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【wpf】轉(zhuǎn)換器 Converter

這篇具有很好參考價值的文章主要介紹了【wpf】轉(zhuǎn)換器 Converter。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

今天積攢了一個轉(zhuǎn)換器的用法,分享給各位。

我們經(jīng)常會有這種需求: 某些控件有時需要顯示,有時需要隱藏,比如:

【wpf】轉(zhuǎn)換器 Converter

那,我就想通過一個bool變量和是否顯示綁定。

但是我們知道,是否顯示,這個屬性?Visibility 它并不是一個bool類型無法直接綁定,此時我們需要一個轉(zhuǎn)換器!

接下來,這個轉(zhuǎn)換器可以講bool類型轉(zhuǎn)換為字符串類型,十分通用,我們就已Visibility舉個例子:

<UserControl.Resources>
    <wpfcv:Bool2StringConverter  x:Key="b2s"/>
</UserControl.Resources>

------------------------------------------------------------------
Visibility="{Binding CanShowCross,
Converter={StaticResource b2s},
ConverterParameter=Visible:Hidden}"

?這里我們使用了?Bool2StringConverter? 這個轉(zhuǎn)換器,使用這個轉(zhuǎn)換器是,還給轉(zhuǎn)換器傳了一個參數(shù),可以將其看成一個字符串 " Visible:Hidden "

記下來我們看看?Bool2StringConverter? 是如何定義的。

后臺代碼

using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Data;

namespace WpfConverter
{
    public class Bool2StringConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            
            if (parameter == null) return DependencyProperty.UnsetValue; 
            if (value == null) return DependencyProperty.UnsetValue;
            
            //將參數(shù)字符分段 parray[0]為比較值,parray[1]為true返回值,parray[2]為false返回值
            string[] parray = parameter.ToString().ToLower().Split(':'); 
            if (value is bool && parray.Length >=2)
            {
                //value為bool,true返回parray[1],false返回parray[2]
                return (bool)value? parray[0] : parray[1];
            }
            else
            {
                return DependencyProperty.UnsetValue;
            }
            
        }

        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            //throw new NotImplementedException();
            return DependencyProperty.UnsetValue;
        }
    }
}

在后臺中,我們根據(jù)綁定的bool值,來判斷返回,字符串?Visible:Hidden 的哪個部分,如果是true

就返回Visible, 否則返回Hidden。是不是很巧妙。

這樣我就可以通過這么一句話:

Visibility="{Binding CanShowCross,
Converter={StaticResource b2s},
ConverterParameter=Visible:Hidden}"

來實現(xiàn)某個控件的顯示與否了!

--------------2023年10月9日

根據(jù)網(wǎng)友weixin_42179035?的提問,我發(fā)現(xiàn)確實少了點內(nèi)容:補充內(nèi)容如下

private bool canShowCross;
        /// <summary>
        /// 十字線顯示
        /// </summary>
        public bool CanShowCross
        {
            get { return canShowCross; }
            set { SetProperty(ref canShowCross, value); }
        }

這里就是通過,CheekBox的IsCheeked屬性和 Line的?Visibility屬性,同時綁定了CanShowCross:

【wpf】轉(zhuǎn)換器 Converter

這樣當點擊CheekBox時,CanShowCross就會被改變,此時也就會改變Line的?Visibility屬性。

<Line X1="0" Stroke="Pink" Focusable="False" Visibility="{Binding CanShowCross,Converter={StaticResource b2s},ConverterParameter=Visible:Hidden}"
      Y1="{Binding ActualHeight, Converter={StaticResource half}, ElementName=hSmart}"
      X2="{Binding ActualWidth, ElementName=hSmart}"
      Y2="{Binding ActualHeight, Converter={StaticResource half},ElementName=hSmart}" />
<Line X1="{Binding ActualWidth, Converter={StaticResource half},ElementName=hSmart}"
      Y1="0"  Stroke="Pink" Focusable="False" IsEnabled="False" Visibility="{Binding CanShowCross,Converter={StaticResource b2s},ConverterParameter=Visible:Hidden}"
      X2="{Binding ActualWidth, Converter={StaticResource half},ElementName=hSmart}"
      Y2="{Binding ElementName=hSmart, Path=ActualHeight}" />
 
<ToolBar Grid.ColumnSpan="2">
    <CheckBox IsChecked="{Binding CanShowCross}"  Margin="5,0,0,0">十字線</CheckBox>
</ToolBar>

(補充2)這里又引出了一個half轉(zhuǎn)換器,顧名思義就得到屬性值的一半大?。?span toymoban-style="hidden">文章來源地址http://www.zghlxwxcb.cn/news/detail-425364.html

public class HalfConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {

            if (value == null || (double)value == 0) return DependencyProperty.UnsetValue;

            return (double)(value) / 2;

        }

        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            //throw new NotImplementedException();
            return DependencyProperty.UnsetValue;
        }
    }

到了這里,關(guān)于【wpf】轉(zhuǎn)換器 Converter的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • WPF多值轉(zhuǎn)換器

    WPF多值轉(zhuǎn)換器

    背景:實現(xiàn)Slider拖動可以調(diào)整rgb 單轉(zhuǎn)換器:WPF中數(shù)據(jù)綁定轉(zhuǎn)換器Converter-CSDN博客 在View中: ? ? ? ? -- Fill中綁定的資源是Window.Resources中引入進來的轉(zhuǎn)換器key ? ? ? ? -- 轉(zhuǎn)換器返回的是一個SolidBrush,其實就是相當于在這個地方寫個SolidBrush ? ? ? ? -- 這里綁定的是Slider的值,

    2024年01月23日
    瀏覽(91)
  • WPF中值轉(zhuǎn)換器的使用

    在WPF(Windows Presentation Foundation)中,值轉(zhuǎn)換器(Value Converter)是一種機制,允許你在綁定時轉(zhuǎn)換綁定源和綁定目標之間的值。值轉(zhuǎn)換器實現(xiàn)了 IValueConverter 接口,該接口包含兩個方法: Convert 和 ConvertBack 。這兩個方法分別用于在綁定源到目標時進行值轉(zhuǎn)換,以及在目標到源時

    2024年02月19日
    瀏覽(19)
  • 最全的視頻轉(zhuǎn)換器工具清單,這18款免費視頻格式轉(zhuǎn)換器記得收藏

    最全的視頻轉(zhuǎn)換器工具清單,這18款免費視頻格式轉(zhuǎn)換器記得收藏

    審查和比較具有功能和定價的最佳視頻轉(zhuǎn)換器軟件。從這個頂級付費和免費在線視頻轉(zhuǎn)換器工具列表中選擇,以快速輕松地轉(zhuǎn)換任何視頻: 什么是視頻轉(zhuǎn)換器? 視頻轉(zhuǎn)換工具允許您將視頻從一種格式轉(zhuǎn)換為另一種格式。第一個商業(yè)上成功的視頻格式是 Quad,它于 1956 年推出。

    2023年04月08日
    瀏覽(101)
  • 在線PDF格式轉(zhuǎn)換器推薦,小圓象PDF轉(zhuǎn)換器滿足您的辦公需求

    在線PDF格式轉(zhuǎn)換器推薦,小圓象PDF轉(zhuǎn)換器滿足您的辦公需求

    作為上班族,我們都知道在辦公應(yīng)用中經(jīng)常使用PDF文件。PDF具有較高的內(nèi)容安全性,并且可以在多種設(shè)備上打開和瀏覽而不會出現(xiàn)格式混亂的問題。然而,PDF文件的一個短板是其不易編輯。通常情況下,我們需要將PDF文件轉(zhuǎn)換為Word文檔,以便提取其中的文字內(nèi)容或進行格式編

    2024年02月11日
    瀏覽(92)
  • 【圖像增強器和轉(zhuǎn)換器】Winxvideo AIAI 驅(qū)動的視頻/圖像增強器和轉(zhuǎn)換器軟件。

    【圖像增強器和轉(zhuǎn)換器】Winxvideo AIAI 驅(qū)動的視頻/圖像增強器和轉(zhuǎn)換器軟件。

    Winxvideo AI,以前稱為WinX HD Video Converter Deluxe,是一款利用尖端深度學習技術(shù)的高級軟件工具包。它提供了一套全面的工具,用于放大、穩(wěn)定、轉(zhuǎn)換、壓縮、錄制和編輯 4K/8K/HDR 視頻。 AI 驅(qū)動的功能通過全面的 GPU 加速確保影院級質(zhì)量。 Winxvideo AI 提供了一套強大且易于使用的視

    2024年02月20日
    瀏覽(40)
  • 電源轉(zhuǎn)換器類型

    1根據(jù)轉(zhuǎn)換的形式分類,可分為: AC-AC(交流-交流)轉(zhuǎn)換器:如交流電源變壓器、變頻器等。 AC-DC(交流-直流)轉(zhuǎn)換器:整流器。 DC-DC(直流-直流)轉(zhuǎn)換器。 DC-AC(直流-交流)轉(zhuǎn)換器:逆變器。 2 根據(jù)轉(zhuǎn)換的方法分類,可分為: 線性電源:使用工作在線性區(qū)的功率器件調(diào)整

    2024年02月08日
    瀏覽(25)
  • RabbitMQ消息轉(zhuǎn)換器

    RabbitMQ消息轉(zhuǎn)換器

    在SpringAMQP的發(fā)送方法中,發(fā)送消息和接受消息的類型都是Object,也就是說,我們可以發(fā)送任意對象類型的消息, SpringAMQP都會幫我們把發(fā)送的消息序列化為字節(jié)后再進行發(fā)送 。下面,我們可以演示一下: 假設(shè)我們現(xiàn)在有個User類,如下(切記一定要實現(xiàn)Serializable接口,才能被

    2024年02月05日
    瀏覽(96)
  • ip轉(zhuǎn)換器哪個好用 ip地址切換器有哪些

    在互聯(lián)網(wǎng)時代,IP轉(zhuǎn)換器成為了實現(xiàn)高效工作的常見工具。而如今,市面上涌現(xiàn)出了眾多的IP轉(zhuǎn)換器軟件,使得用戶在選擇時感到困惑。本文將介紹一種深度IP轉(zhuǎn)換器軟件,探討其特點和優(yōu)勢,以及與其他軟件相比的差異,幫助讀者在眾多產(chǎn)品中作出明智的選擇。 強大的功能和

    2024年02月13日
    瀏覽(18)
  • 電腦視頻轉(zhuǎn)換成mp4格式,視頻格式轉(zhuǎn)換器轉(zhuǎn)換

    電腦視頻轉(zhuǎn)換成mp4格式,視頻格式轉(zhuǎn)換器轉(zhuǎn)換

    怎么把 電腦視頻轉(zhuǎn)換成mp4格式 ? 使用視頻轉(zhuǎn)換器,可以轉(zhuǎn)換來自各種設(shè)備的音視頻格式,包括相機、手機、視頻播放器、電視、平板電腦等。因此,音視頻愛好者都可以使用它在各種設(shè)備上播放或在社交平臺上分享。 主要人群及作用: 音樂愛好者:如果酷愛音樂,那么視

    2023年04月13日
    瀏覽(94)
  • Rabbitmq的消息轉(zhuǎn)換器

    Rabbitmq的消息轉(zhuǎn)換器

    Spring會把你發(fā)送的消息序列化為字節(jié)發(fā)送給MQ,接收消息的時候,還會把字節(jié)反序列化為Java對象 ,只不過,默認情況下Spring采用的序列化方式是JDK序列化。眾所周知,JDK序列化存在下列問題: 數(shù)據(jù)體積過大 有安全漏洞 可讀性差 發(fā)送一個Map對象 ? 發(fā)送消息后查看控制臺 ? 顯

    2024年02月11日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包