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

按照Vue寫WPF(1):屬性綁定

這篇具有很好參考價(jià)值的文章主要介紹了按照Vue寫WPF(1):屬性綁定。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

前言

作為一個(gè)使用Vue非常熟練的C#全干工程師。當(dāng)我在接觸WPF的時(shí)候,我就一直想用Vue的想法去重寫WPF框架。經(jīng)過(guò)一個(gè)星期的琢磨,終于琢磨出來(lái)了如何優(yōu)雅的入?yún)ⅰF陂g看了上百篇博客,瀏覽了一堆的視頻教程。

代碼

用戶控件的cs
TestController.xaml

 public partial class TestControl : UserControl
    {
        /// <summary>
        /// 聲明數(shù)據(jù)源
        /// </summary>
        public  TestControllerViewModel testControl = new TestControllerViewModel();


        /// <summary>
        /// 用于靜態(tài)編譯通過(guò),根據(jù)我兩天的試驗(yàn),這個(gè)值是不會(huì)觸發(fā)get和set指令的,就是個(gè)花瓶。
        /// </summary>
        public string TestTitle { get; set; }


        /// <summary>
        /// 用于聲明依賴屬性,不讓只讓直接傳值,不讓Bind傳值
        /// </summary>
        public static readonly DependencyProperty TestTitleProperty =
        DependencyProperty.Register("TestTitle", typeof(string), typeof(TestControl), new PropertyMetadata("TestTitle",new PropertyChangedCallback((item,res) =>
        {
            //使用回調(diào)函數(shù)去重新設(shè)置數(shù)據(jù)源
            var model = (TestControl)item;
            model.testControl.TestTitle = res.NewValue as string;
        })));



        public TestControl()
        {

            InitializeComponent();
            //必須要這么寫,不然Bind賦值傳不進(jìn)去
            ( this.Content as FrameworkElement ).DataContext = testControl;
        }
    }

TestController.xaml.cs
用戶控件的xaml

<Grid Background="White">
    <StackPanel>
        <TextBlock Text="{Binding TestTitle}" FontSize="50"/>
        <!--<Button Content="按鈕" FontSize="50" />-->
    </StackPanel>
</Grid>

TestControllerViewModel,數(shù)據(jù)源

 public class TestControllerViewModel
    {
        public string TestTitle { get; set; }

        

        public TestControllerViewModel()
        {
            TestTitle = "我是初始值";
        }
    }

主窗口

<Grid>
        <StackPanel>
            <!--這里面?zhèn)鞯氖?我是Bind賦值"-->
            <Views:TestControl TestTitle="{Binding TestTitle}" />
            <Views:TestControl TestTitle="我是直接賦值" />
            <Views:TestControl />
        </StackPanel>
    </Grid>

實(shí)現(xiàn)效果

按照Vue寫WPF(1):屬性綁定,vue.js,wpf,前端

代碼邏輯

按照Vue寫WPF(1):屬性綁定,vue.js,wpf,前端

總結(jié)

期間遇到許多困難,WPF國(guó)內(nèi)相關(guān)資料極少,英語(yǔ)也不知道怎么提問(wèn),GPT也沒(méi)有給我想要的答案,難得我都要放棄了。因?yàn)槲乙恢毕胂馰ue那樣優(yōu)雅的入?yún)?,按照Vue的一切都是組件的想法去開(kāi)發(fā),因?yàn)檫@樣極大的減少了開(kāi)發(fā)的難度,降低了耦合,提高了組件的復(fù)用。

幸好我成功了,所有的努力沒(méi)有白費(fèi)。只要我能Bind入?yún)ⅲ揖湍馨凑誚ue的邏輯重構(gòu)WPF頁(yè)面的開(kāi)發(fā)。我相信我有這個(gè)能力。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-607812.html

到了這里,關(guān)于按照Vue寫WPF(1):屬性綁定的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • WPF如果未定義綁定的屬性,程序如何處理

    問(wèn)題 :wpf中, Button IsEnabled=\\\"{Binding IsValid1}\\\"/Button ,如果沒(méi)定義綁定的屬性IsValid1,可以正常用嗎 解答 :在 WPF 中,如果沒(méi)有定義綁定的屬性 IsValid1,會(huì)導(dǎo)致綁定失敗,從而使 Button 的 IsEnabled 屬性無(wú)法正常綁定。在這種情況下,Button 的 IsEnabled 屬性將保持默認(rèn)值,即為 true。

    2024年02月11日
    瀏覽(21)
  • 【W(wǎng)PF】解決無(wú)法對(duì)“xxx”類型的只讀屬性“xxx”進(jìn)行TwoWay或OneWayToSource綁定

    System.InvalidOperationException:“無(wú)法對(duì)“AowisingWincc.ViewModels.DialogScanDevicesViewModel”類型的只讀屬性“IOTGtatewayDeviceId”進(jìn)行 TwoWay 或 OneWayToSource 綁定?!?這個(gè)異常是由于在進(jìn)行數(shù)據(jù)綁定時(shí),嘗試將只讀屬性(IOTGtatewayDeviceId)設(shè)置為雙向(TwoWay)或者從目標(biāo)到源(OneWayToSource)的綁

    2024年02月04日
    瀏覽(24)
  • WPF綁定之道:為何選擇屬性而非字段,提升靈活性與可控性

    WPF綁定之道:為何選擇屬性而非字段,提升靈活性與可控性

    ? 概述: WPF支持綁定到對(duì)象的屬性而不是字段,主要因?yàn)閷傩蕴峁┝烁嗫刂坪蛿U(kuò)展性。屬性包含get和set方法,支持?jǐn)?shù)據(jù)驗(yàn)證和通知屬性更改,而字段通常被認(rèn)為是內(nèi)部實(shí)現(xiàn)。使用屬性使WPF能夠更靈活、可控地與數(shù)據(jù)交互,提高代碼的可讀性和可維護(hù)性。 WPF(Windows Presenta

    2024年03月25日
    瀏覽(23)
  • WPF 多值綁定(MultiBinding)與多屬性觸發(fā)器(MultiTrigger)與多數(shù)據(jù)觸發(fā)器(MultiDataTrigger)

    WPF 多值綁定(MultiBinding)與多屬性觸發(fā)器(MultiTrigger)與多數(shù)據(jù)觸發(fā)器(MultiDataTrigger)

    當(dāng)一個(gè)控件的某個(gè)屬性需要綁定到多個(gè)值的時(shí)候,需要使用MultiBinding. 例子1 一個(gè)文本顯示Person的Name和Age 例子2 當(dāng)1,2,3都被選中時(shí),下面的紅色框隱藏,不使用后臺(tái)代碼邏輯。 這個(gè)時(shí)候,使用MultiBinding+MultiValueConverter可實(shí)現(xiàn)需求 首先定義多值轉(zhuǎn)換器: XAML如下: 與Trigger屬性對(duì)

    2024年02月05日
    瀏覽(24)
  • vue學(xué)習(xí)之屬性綁定

    vue學(xué)習(xí)之屬性綁定

    內(nèi)容渲染 采用 :進(jìn)行屬性渲染 創(chuàng)建 demo3.html,內(nèi)容如下 效果展示

    2024年02月09日
    瀏覽(26)
  • Vue3-屬性綁定、定時(shí)任務(wù)
  • WPF基礎(chǔ)入門-Class4-WPF綁定

    WPF基礎(chǔ)入門-Class4-WPF綁定

    Class4:WPF綁定 一、簡(jiǎn)單綁定數(shù)據(jù) 1、cs文件中設(shè)置需要綁定的數(shù)據(jù): 2、編寫xaml綁定 3、效果顯示: 二、控件綁定 1、 Binding ElementName :綁定的元素 2、 Path=綁定的屬性 3、 Mode :綁定的模式,default雙向榜單TwoWay Mode綁定模式,onetime只改變一次 default默認(rèn)雙向 OneWay只能受到影響

    2024年02月11日
    瀏覽(19)
  • wpf數(shù)據(jù)綁定之元素、資源、后臺(tái)綁定

    wpf數(shù)據(jù)綁定之元素、資源、后臺(tái)綁定

    ? ? ? ? wpf前端的數(shù)據(jù)綁定主要分為元素、資源以及后臺(tái)數(shù)據(jù)三種,元素可以簡(jiǎn)單的理解為前端的空間數(shù)據(jù)綁定,資源是在resource里找數(shù)據(jù),而后臺(tái)就是跟cs文件之間的數(shù)據(jù)互相傳遞。 ? ? ? ? ? 先說(shuō)下元素吧,也就是控件元素,因?yàn)榇a比較簡(jiǎn)單,就不上效果了,自己可以

    2024年02月04日
    瀏覽(17)
  • phpstorm添加vue 標(biāo)簽屬性綁定提示和提示vue的方法提示

    phpstorm添加vue 標(biāo)簽屬性綁定提示和提示vue的方法提示

    把上面這些文字粘貼到點(diǎn)擊右下角放大按鈕 后的文本框里,然后保存即可實(shí)現(xiàn)標(biāo)簽屬性提示 下面是提示js方法,把本地的vue.js 引入到編輯器即可

    2024年02月13日
    瀏覽(24)
  • Winform/WPF利用CefSharp集成vue開(kāi)發(fā)

    有時(shí)候因?yàn)楦鞣N原因,可能在開(kāi)發(fā)winform或wpf項(xiàng)目的時(shí)候需要嵌入web項(xiàng)目,而目前vue在web開(kāi)發(fā)中還是非常流行的,今天有空琢磨了一下怎么在winform中集成vue進(jìn)行開(kāi)發(fā),當(dāng)然,winform能實(shí)現(xiàn),wpf也是一樣的。 目前希望達(dá)到的效果是,能夠在winform中顯示web界面,并且能夠與vue中的

    2024年02月08日
    瀏覽(21)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包