我有我的用戶聲明一個控件屬性爲靜態資源
private StaticInfoCollection _StaticInfoColl;
public StaticInfoCollection StaticInfoColl
{
get { return _StaticInfoColl; }
set
{
if (value == _StaticInfoColl) return;
_StaticInfoColl = value;
}
}
我想能夠在XAML使用這種內的屬性定義。 但是每當我做財產申報如下
<UserControl.Resources>
<local:Static.StaticInfoColl x:Key="SIColl" />
</UserControl.Resources>
Static.StaticInfoColl
不XML命名空間中存在的標籤clr-namespace:AAA.Presentation
有人能幫助我什麼,我做錯了什麼?
的用戶控件的名稱是靜態[X:姓名]
<UserControl x:Class="AAA.Presentation.ucBrand"
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:local ="clr-namespace:MBCL.Presentation"
mc:Ignorable="d"
d:DesignHeight="710"
d:DesignWidth="1025"
Height="710"
Width="1025"
x:Name="Static"
HorizontalAlignment="Left"
HorizontalContentAlignment="Left">
我有對他們的多個按鈕的用戶控件。 按鈕具有一個StackPanel內,如下所示:
<Button Style="{StaticResource appViewButton}" DataContext="{Binding}" >
<StackPanel>
<TextBlock FontSize="11">View Products</TextBlock>
<TextBlock Text="{Binding Path=FileDownloadDate,StringFormat='Last Uploaded : {0:dd-MMM-yyyy}'}"
Style="{StaticResource tbUploadDate}"
HorizontalAlignment="Center" />
</StackPanel>
</Button>
我有一個實體Info
和InfoCollection
。
該按鈕綁定到InfoCollection,基於FileType我想選擇適當的FileDownloadDate並顯示它。
public class Info
{
public Info(DataRow dr)
{
_FileType = Util.HandleNull<string>(dr[AppConstants.FILE_TYPE]);
_FileID = Util.HandleNull<long?>(dr[AppConstants.FILEID]);
_FileTypeDesc = Util.HandleNull<string>(dr[AppConstants.CODE_DESC]);
_FileDownloadDate = Util.HandleNull<DateTime>(dr[AppConstants.DOWNLOAD_DATE]);
}
private string _FileType;
public string FileType
{
get { return _FileType; }
set
{
if (value != _FileType)
_FileType = value;
}
}
private string _FileTypeDesc;
public string FileTypeDesc
{
get { return _FileTypeDesc; }
set
{
if (value != _FileTypeDesc)
_FileTypeDesc = value;
}
}
private long? _FileID;
public long? FileID
{
get { return _FileID; }
set
{
if (value != _FileID)
_FileID = value;
}
}
private DateTime _FileDownloadDate;
public DateTime FileDownloadDate
{
get { return _FileDownloadDate; }
set
{
if (value != _FileDownloadDate)
_FileDownloadDate = value;
}
}
}
public class InfoCollection : ObservableCollection<Info>
{
public InfoCollection(DataTable dtStaticInfo)
{
foreach (DataRow drSInfo in dtStaticInfo.Rows)
{
this.Add(new StaticInfo(drSInfo));
}
}
}
發表您的整個'Static'類。 –
這沒有多大意義。你不能創建一個屬性的實例,你可以創建一個具有這個(和更多)屬性的對象實例。 「UserControl.Resources」部分用於控件中使用的其他類或對象,如畫筆,動畫,樣式,模板等。還有什麼是「靜態」。在你的xaml中?一個命名空間?這就是別名「local:」的意思。請提供更多詳細信息,你想要做什麼。 – dowhilefor