0

実行時にBorder要素をControlTemplateに追加し、他のすべての既存の要素をそのborderの子にすることが可能かどうかを知りたいです。新しいControlTemplateを作成し、そのビジュアルツリーに境界線を追加する方法を知っています。

ControlTemplate dtemplate = column.DisplayTemplate;
ControlTemplate newTemplate = new ControlTemplate();
FrameworkElementFactory borderFactory = new FrameworkElementFactory(typeof(Border));
borderFactory.SetValue(CellContentPresenter.BorderThicknessProperty, new Thickness(2));
borderFactory.SetValue(CellContentPresenter.BorderBrushProperty, System.Windows.Media.Brushes.Black);
newTemplate.VisualTree = borderFactory;
column.DisplayTemplate = newTemplate;

ただし、ここで具体的に実行したいのは、既存のテンプレートの既存のビジュアルツリーに境界線を追加し、既存のコントロールがある場合は境界線の子にすることです。たとえば、既存のテンプレートにTextBlockが表示されている場合は、境界線を追加して、TextBlockを境界線の子にします。これを行う方法についてのアイデアはありますか?

4

0 に答える 0