Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Tasarımcı yeniden barındırma, iş akışı tasarım tuvalini özel bir uygulamanın içinde barındırmayı ifade eden yaygın bir senaryodur. Çoğu kişinin aşina olduğu barındırma uygulaması Visual Studio'dur, ancak bir uygulamada iş akışı tasarımcısını göstermenin yararlı olabileceği birkaç senaryo vardır:
Uygulamaları izleme (son kullanıcının işlemi görselleştirmesine izin vermenin yanı sıra şu anda etkin durumda olan durum, toplam yürütme süresi verileri veya iş akışının bir örneği hakkında diğer bilgiler gibi işlemle ilgili çalışma zamanı verileri).
Kullanıcının sınırlı bir etkinlik kümesiyle işlemi özelleştirmesine olanak sağlayan uygulamalar.
Bu tür uygulamaları desteklemek için, iş akışı tasarımcısı .NET Framework içinde sunulur ve bir WPF uygulaması içinde veya uygun WPF barındırma koduna sahip bir WinForms uygulamasında barındırılabilir. DesignerRehosting örneği aşağıdakileri gösterir:
Workflow tasarımcısını yeniden barındırma.
Yeniden barındırılan araç kutusunu ve özellik kılavuzunu da kullanma.
Tasarımcıyı yeniden barındırma
Bu örnek, aşağıda kılavuz düzeniyle görüldüğü gibi tasarımcının bulunacağı WPF düzeninin nasıl oluşturulacağını gösterir (Yer tasarrufu nedeniyle araç kutusu kodu dahil edilmemiştir). Tasarımcı ve özellik kılavuzunu içeren kenarlıkların adlandırıldığına dikkat edin.
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="7*"/>
<ColumnDefinition Width="3*"/>
</Grid.ColumnDefinitions>
<Border Grid.Column="0">
<sapt:ToolboxControl>...</sapt:ToolboxControl>
</Border>
<Border Grid.Column="1" Name="DesignerBorder"/>
<Border Grid.Column="2" Name="PropertyBorder"/>
</Grid>
Ardından örnek tasarımcıyı oluşturur ve birincil View ve PropertyInspectorView kullanıcı arabirimindeki uygun kapsayıcıyla ilişkilendirir. Aşağıdaki örnekte bazı açıklamalara değer veren birkaç ek kod satırı vardır. Çağrısı, Register .NET Framework ile gönderilen etkinlikler için varsayılan etkinlik tasarımcılarını ilişkilendirmek için gereklidir. Load, üzerinde düzenleme yapılacak WF öğesini geçirmek için çağrılır. Son olarak, View (birincil tuval) ve PropertyInspectorView (özellik kılavuzu) kullanıcı arabirimi yüzeyine yerleştirilir.
protected override void OnInitialized(EventArgs e)
{
base.OnInitialized(e);
// register metadata
(new DesignerMetadata()).Register();
// create the workflow designer
WorkflowDesigner wd = new WorkflowDesigner();
wd.Load(new Sequence());
DesignerBorder.Child = wd.View;
PropertyBorder.Child = wd.PropertyInspectorView;
}
Yeniden barındırılan araç kutusunu kullanma
Bu örnek, XAML'de yeniden barındırılan araç kutusu denetimini bildirimli olarak kullanır. Koda dikkat edin, kod içinde bir türü ToolboxItemWrapper yapıcıya geçirebilirsiniz.
<!-- Copyright (c) Microsoft Corporation. All rights reserved-->
<Window x:Class="Microsoft.Samples.DesignerRehosting.RehostingWfDesigner"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sapt="clr-namespace:System.Activities.Presentation.Toolbox;assembly=System.Activities.Presentation"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
Title="Window1" Height="600" Width="900">
<Window.Resources>
<sys:String x:Key="AssemblyName">System.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35</sys:String>
</Window.Resources>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="7*"/>
<ColumnDefinition Width="3*"/>
</Grid.ColumnDefinitions>
<Border Grid.Column="0">
<sapt:ToolboxControl>
<sapt:ToolboxCategory CategoryName="Basic">
<sapt:ToolboxItemWrapper AssemblyName="{StaticResource AssemblyName}" >
<sapt:ToolboxItemWrapper.ToolName>
System.Activities.Statements.Sequence
</sapt:ToolboxItemWrapper.ToolName>
</sapt:ToolboxItemWrapper>
<sapt:ToolboxItemWrapper AssemblyName="{StaticResource AssemblyName}">
<sapt:ToolboxItemWrapper.ToolName>
System.Activities.Statements.WriteLine
</sapt:ToolboxItemWrapper.ToolName>
</sapt:ToolboxItemWrapper>
<sapt:ToolboxItemWrapper AssemblyName="{StaticResource AssemblyName}">
<sapt:ToolboxItemWrapper.ToolName>
System.Activities.Statements.If
</sapt:ToolboxItemWrapper.ToolName>
</sapt:ToolboxItemWrapper>
<sapt:ToolboxItemWrapper AssemblyName="{StaticResource AssemblyName}">
<sapt:ToolboxItemWrapper.ToolName>
System.Activities.Statements.While
</sapt:ToolboxItemWrapper.ToolName>
</sapt:ToolboxItemWrapper>
</sapt:ToolboxCategory>
</sapt:ToolboxControl>
</Border>
<Border Grid.Column="1" Name="DesignerBorder"/>
<Border Grid.Column="2" Name="PropertyBorder"/>
</Grid>
</Window>
Örneği kullanma
Visual Studio'da DesignerRehosting.sln çözümünü açın.
Uygulamayı derlemek ve çalıştırmak için F5 tuşuna basın.
WPF uygulaması, yeniden barındırılmış bir tasarım arayüzüyle başlar.