我有一个子项目,它是一个类,包含DataLib.cs和用户控件MediumTile.xaml。此用户控件将生成到图像以将其用作图块背景。但在我不得不动态地改变一些事情之前。那么如何在MediumTile.xaml中的LayoutRoot上方获得controll以设置背景颜色?
这样的事情:
MediumTile.LayoutRoot.Background = new SolidColorBrush(Color.FromArgb(255, 206, 23, 23);
答案 0 :(得分:0)
我从来没有为windows phone 8
做过,但对于普通的桌面应用程序,您可以通过添加以下引用来实现:
然后,您可以正常方式创建和访问Control
。
答案 1 :(得分:0)
MediumTile.xaml
可能存在于某种命名空间中。
您可以在x:Class声明旁边的文件顶部找到UserControl的命名空间。
通常它看起来像
x:Class="MyProject.UserControls.MediumTile"
如果您的项目设置正常。
如果查看MediumTile.xaml.cs
,您应该看到如此的命名空间
namespace MyProject.UserControls
{
public partial class MediumTile : UserControl
...
首先,您需要参考您的子项目。
假设你有一个像这样的项目结构......
CurrentProject/
-MyPage.xaml
SubProject/
-MediumTile.xaml
在Visual Studio中右键单击解决方案,然后单击Properties
。
在“属性”下,选择Project Dependencies
。
在下拉列表中选择CurrentProject。
在Depends On
复选框字段中,选择子项目。
单击侧栏中的StartUp Project
。
确保Single StartUp Project
指向CurrentProject。如果没有,请设置它。
现在您已完成设置,您现在需要实际使用MediumTile.xaml
。
要在另一个XAML文件中使用MediumTile UserControl,您需要声明
的xmlns:customControls = “CLR-名称空间:MyProject.UserControls”
,然后调用
<ListBox.ItemTemplate>
<DataTemplate>
<customControls:MediumTile/>
...
要在另一个CS文件中使用此UserControl,您需要导入命名空间
使用MyProject.UserControls;
位于页面顶部,并像这样引用您的控件(取决于您的usercontrol的构造函数),
MediumTile mediumTile = new MediumTile()
关于LayoutRoot
问题,您只需在UserControl上直接设置背景颜色即可。 UserControl继承自Control,它已具有Background属性。