MainWindow.xaml.cs
コードビハインドで「propa」と入力してスニペットを挿入します。その後、適宜名前やメタデータを変更していきます。
public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } public static double GetRecord(DependencyObject obj) { return (double)obj.GetValue(RecordProperty); } public static void SetRecord(DependencyObject obj, double value) { obj.SetValue(RecordProperty, value); } // Using a DependencyProperty as the backing store for Record. This enables animation, styling, binding, etc... public static readonly DependencyProperty RecordProperty = DependencyProperty.RegisterAttached("Record", typeof(double), typeof(MainWindow), new FrameworkPropertyMetadata(0.0) ); private void Button_Click(object sender, RoutedEventArgs e) { var btn = sender as Button; Debug.WriteLine(btn.GetValue(RecordProperty)); } }
MainWindow.xaml
追加した Record 添付プロパティに、double 値を設定します。
<Window x:Class="AttachedPropertyDemo.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:AttachedPropertyDemo" mc:Ignorable="d" Title="MainWindow" Height="350" Width="525"> <Grid> <Button Content="abc" Height="30" Width="200" local:MainWindow.Record="3.0" Click="Button_Click"/> </Grid> </Window>
関連情報:
WPF 依存関係プロパティ
http://kainobi2.blogspot.jp/2016/11/wpf.html
0 件のコメント:
コメントを投稿