我的XAML很长很难维护.我想知道是否有办法做重构之类的事情?
这是一个简单的例子:
<Window x:Class="RefactorXAML.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<StackPanel>
<Button>New</Button>
<Button>Open</Button>
</StackPanel>
</Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)
我怎样才能重构该Stackpanel
部分并写出这样的内容?
<Window x:Class="RefactorXAML.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
// Refactored Markup
</Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)
pok*_*oke 14
您可以将这些按钮放在用户控件中,使其如下所示:
<Window …
xmlns:my="clr-namespace:SomeNamespace">
<Grid>
<my:NewAndOpenButtons />
</Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)
您还可以通过已包含这些按钮的项控件替换网格,但这样会对其他内容施加太多限制,因此我不会这样做.
因此,对于上述内容,您的用户控件将如下所示:
<UserControl x:Class="SomeNamespace.NewAndOpenButtons" …>
<StackPanel>
<Button>New</Button>
<Button>Open</Button>
</StackPanel>
</UserControl>
Run Code Online (Sandbox Code Playgroud)