#t#学习Visual Studio时,你可能会遇到Visual Studio用户控件问题,这里将介绍Visual Studio用户控件问题的解决方法,在这里拿出来和大家分享一下。在前面的文章中,我们介绍了如果创建一个自定义开始页,以及如何在其中删除添加按钮。实际上更加重要的是,开始页可以支持自定义的用户控件,以完成更加复杂的任务。下面我们就介绍如何在开始页中添加一个自定义Visual Studio用户控件,来订阅此我的blog“有間客栈”的RSS。
◆创建控件项目
在我们刚刚使用的StartPage解决方案中,添加一个Visual C#项目imccBlog,项目模板选择WPF User Control Library。项目创建完成后,为项目添加下列dll的引用:
C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\Microsoft.VisualStudio.Shell.UI.dll
通过添加此dll的引用,我们可以在XAML中执行Visual Studio的内部命令。
◆编辑UserControl1.xaml
编辑UserControl1.xaml的内容如下,以读取RSS并显示在开始页中:
- <UserControl x:Class="imccBlog.UserControl1"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:vs="clr-namespace:Microsoft.VisualStudio.PlatformUI;
- assembly=Microsoft.VisualStudio.Shell.UI">
- <Grid>
- <Grid.Resources>
- <XmlDataProvider x:Key="imccBlog" XPath="rss/channel"
Source="http://imcc.blogbus.com/index.rdf" />- </Grid.Resources>
- <Border BorderBrush="Black" BorderThickness="1" CornerRadius="10" Padding="4" Margin="0,0,0,10" >
- <ItemsControl DataContext="{StaticResource imccBlog}" ItemsSource="{Binding XPath=item}"
BorderBrush="Transparent" Padding="6" >- <ItemsControl.ItemTemplate>
- <DataTemplate>
- <TextBlock Margin="0,0,0,6">
- <Image Source="C:\Users\Public\Documents\CTPWalkthroughs\Visual Studio\Samples\Start Page\greendot.png"
Height="10" Margin="0,0,5,0" />- <Hyperlink Foreground="White" Command="{x:Static vs:VSCommands.Browse}"
CommandParameter="{Binding XPath=link}">- <TextBlock FontSize="12" Text="{Binding XPath=title}" /></Hyperlink></TextBlock>
- </DataTemplate>
- </ItemsControl.ItemTemplate>
- </ItemsControl>
- </Border>
- </Grid>
- </UserControl>
◆编译并复制到目标路径
完成代码的编辑后,我们编译这个新的控件项目,然后将编译结果imccBlog.dll复制到..\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\StartPageAssemblies\下. (如果没有此目录,则创建此目录),这样,这个新创建的Visual Studio用户控件就可以被StartPage.xaml使用了。
◆使用新控件
跟前面介绍的添加按钮的方法一样,我们编辑StartPage.xaml文件,添加如下的代码创建一个按钮,当点击这个按钮后,在Visual Studio用户控件中定义的RSS源,并在开始页中显示出来。
- <vs:TrayGroupItem Content="imcc's Blog"
- ImageSource="http://www.microsoft.com/china/community/images/MVPs/chenliangqiao.jpg"
- InnerContentUri=" imccBlog;Component/UserControl1.xaml" />
通过上面的演示,大家是不是已经对Visual Studio 2010的自定义开始页有了深刻的印象呢?以前我们只是被动地使用微软给我们定义好的Visual Studio,现在,通过自定义开始页,可以让我们的Visual Studio更加个性,更加便利。在Visual Studio开始页的这块地盘上,我们也可以当家作主了!