Tag: WPF ユーザーコントロール

目次

参考情報

Tips

ユーザーコントロールを継承する

ContentPresenterの部分だけサブクラスで書き換える形式

ベースクラスのコード部分だけ継承する方法

手順

  • UserControlを継承したBaseUserControlを作る。[追加]→[クラス]で作成。単独のcsファイル。
    namespace Sample
    {
        public class BaseUserControl:UserControl
        {
            public void DoSomething()
            {
                Debug.WriteLine("DoSomething");
            }
        }
    }
    
  • 自分のUserControlを作成する。[追加]→[ユーザーコントロール]で作成。xamlファイルとcsファイル。
    • MyUserControl.xaml.cs
      namespace Sample
      {
          public partial class MyUserControl : UserControl
          {
              public MyUserControl()
              {
                  InitializeComponent();
              }
          }
      }
      
    • MyUserControl.xaml
      <UserControl x:Class="Sample.MyUserControl"
                   xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                   xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                   xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
                   xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
                   mc:Ignorable="d" 
                   d:DesignHeight="300" d:DesignWidth="300">
          <Grid>
                  
          </Grid>
      </UserControl>
      
  • ファイルを書き換える
    • MyUserControl.xaml.cs
      namespace Sample
      {
          public partial class MyUserControl : BaseUserControl
          {
              public MyUserControl()
              {
                  InitializeComponent();
              }
          }
      }
      
    • MyUserControl.xaml
      <local:BaseUserControl x:Class="Sample.MyUserControl"
                   xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                   xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                   xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
                   xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
                   xmlns:local="clr-namespace:Sample"
                   mc:Ignorable="d" 
                   d:DesignHeight="300" d:DesignWidth="300">
          <Grid>
                  
          </Grid>
      </local:BaseUserControll>
      

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-04-13 (水) 16:47:47