日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Behavior

發布時間:2023/12/20 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Behavior 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Behavior翻譯是行為

在WPF中Behavior的使用時必須引用Blend的程序集。

?C:\Program Files (x86)\Microsoft SDKs\Expression\Blend\.NETFramework\v4.5\Libraries\System.Windows.Interactivity.dll

?System.Windows.Interactivity;

?

或者通過Nuget包管理來獲取。

?

現在來說說如果使用

behavior是行為,而這個行為是針對控件的。

就目前WPF添加行為的方式可以有附加屬性 附加事件 依賴屬性等方法。

就特性而言behavior和附加屬性很相似。

那么使用方式:

  • 創建一個由Behavior<DependencyObject>所派生的類

  • 創建依賴屬性(不用回調方法)

  • 根據你想要的效果來重寫Behavior的方法

  • 在xaml中使用

  • public class ATCH : Behavior<System.Windows.Controls.TextBox>{public static readonly DependencyProperty BackRedProperty = DependencyProperty.Register("BackRed", typeof(bool), typeof(ATCH), new PropertyMetadata(false, null));public bool BackRed{get { return (bool)GetValue(BackRedProperty); }set { SetValue(BackRedProperty,value); }}/// <summary>/// 當behavior附加成功時/// </summary>protected override void OnAttached(){base.OnAttached();}/// <summary>/// 當behavior分離時/// </summary>protected override void OnDetaching(){base.OnDetaching();}/// <summary>/// 當屬性變化時/// </summary>/// <param name="e"></param>protected override void OnPropertyChanged(DependencyPropertyChangedEventArgs e){if ((bool)e.NewValue)AssociatedObject.Background = new SolidColorBrush(Colors.Red);elseAssociatedObject.Background = new SolidColorBrush(Colors.Gainsboro);}/// <summary>/// 當屬性變化/// 此方法觸發在OnPropertyChanged后/// </summary>protected override void OnChanged(){base.OnChanged();}}

    而在xaml中則是

    ?

    <Window x:Class="Beh.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:Beh"xmlns:AT="http://schemas.microsoft.com/expression/2010/interactivity" mc:Ignorable="d" Title="MainWindow" Height="450" Width="800"><Grid><TextBox Margin="211,147,191,124"><AT:Interaction.Behaviors><local:ATCH BackRed="False" /></AT:Interaction.Behaviors></TextBox></Grid> </Window>

    ?

    轉載于:https://www.cnblogs.com/T-ARF/p/10464604.html

    總結

    以上是生活随笔為你收集整理的Behavior的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。