我曾经使用设计师创建表单,并且仅在需要时手动修改XAML。
即使扩展工具包是一个很棒的库,它仍然缺乏与Visual Studio设计器的集成。无论如何,工具包的控件可以显示在设计器(而不是工具箱)中,就像标准控件一样?如果没有,是否有解释?
目前,工具包的控件只是空白且无法通过简单的点击进行选择。
注意:似乎问题只发生在容器组件(如BusyIndicator和Wizard / WizardPage)上。
编辑:这是我的部分XAML。有了这个,我可以看到向导的第一页,但没有明显的方式来看到其他人。如果我把我的巫师放在BusyIndicator中,根本看不到任何东西。<Window x:Class="MyProgram.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:MyProgram"
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
Title="My Program" Height="477" Width="688" MinWidth="688" MinHeight="478">
<xctk:Wizard x:Name="wizard" FinishButtonClosesWindow="True" Next="wizard_Next">
<xctk:WizardPage Name="Intro_Page" Title="ABC" Description="abc" NextPage="{Binding ElementName=Second_Page}" Enter="disallowNext">
<xctk:WizardPage.Content>
<Grid>
<Label Content="abc" HorizontalAlignment="Center" Margin="0,54,0,87" Name="intro_lbl" VerticalAlignment="Center" Grid.Column="1" Padding="5" HorizontalContentAlignment="Center" Height="28" IsEnabled="False" />
</Grid>
</xctk:WizardPage.Content>
</xctk:WizardPage>
<xctk:WizardPage Name="Second_Page" Title="DFG" Description="dfg" NextPage="{Binding ElementName=Last_Page}">
<xctk:WizardPage.Content>
<Grid Name="grid">
<TextBox Grid.Column="1" Height="23" HorizontalAlignment="Stretch" Name="txt_second" VerticalAlignment="Center" />
</Grid>
</xctk:WizardPage.Content>
</xctk:WizardPage>
<xctk:WizardPage Name="Last_Page" PageType="Interior"
Title="Last Page"
Description="This is the last page in the process"
CanFinish="True" />
</xctk:Wizard>
</Window>
答案 0 :(得分:1)
我知道这个答案来得很晚,但是昨天我在这个问题上遇到了磕磕绊绊,也许这对那些降落在这里的人来说很有用。
我通过创建一个从WizardPage
派生的自己的控件来解决它。
只需创建一个新的UserControl
,包含Xceed.Wpf.Toolkit命名空间,并将类型从UserControl
更改为xaml文件中的xctk:WizardPage
以及代码隐藏文件。
<xctk:WizardPage x:Class="WizardTest.MyWizardPage"
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:xctk="clr-namespace:Xceed.Wpf.Toolkit;assembly=Xceed.Wpf.Toolkit"
xmlns:local="clr-namespace:WizardTest"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<Grid>
<TextBlock>Hello World!</TextBlock>
</Grid>
</xctk:WizardPage>
现在,您可以使用VisualStudio Designer创建UI。 要将页面放在向导中,只需将派生页面的对象放入其项目中:
<xctk:Wizard>
<local:MyWizardPage Title="My Wizard Page"/>
</xctk:Wizard>
您可以在开箱即用的costum页面中使用Bindungs
,因为DataContext
对象的MyWizardPage
会自动设置为向导DataContext
(继承自Window DataContext
如果没有明确给出)