[英]WPF: Integer CLR property not recognized or is not accessible from XAML
我在WPF中有一個自定義控件。 我添加了兩個普通的CLR屬性,如下所示:
private int _ChordFrom = 0;
public int ChordFrom
{
get { return _ChordFrom; }
set { _ChordFrom = value; }
}
private int _ChordTo = 0;
public int ChordTo
{
get { return _ChordTo; }
set { _ChordTo = value; }
}
我使用普通的CLR屬性,因為我不想將這些屬性綁定到任何其他依賴項。 我只是想在實例化控件時在XAML中設置值。
在XAML中,屬性是由intellisense找到的,但在構建項目時我得到錯誤:
“會員”ChordFrom“無法識別或無法訪問。” “會員”ChordTo“無法識別或無法訪問。”
XAML代碼如下所示:
<TabItem Header="CHORDS I">
<Grid x:Name="_gridChords_1" Background="AliceBlue">
<mg:MidiChordGrid x:Name="gridMidiChordGrid_1" Grid.Row="1" Grid.Column="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ChordFrom="0" ChordTo="7"/>
</Grid>
</TabItem>
有三件事,我想知道:
為什么Intellisense會向我提供XAML中的屬性,如果它們不可訪問?
如果我關閉所有XAML窗口,重建項目,錯誤就會消失。
即使可以在沒有任何錯誤的情況下構建項目,也不會設置屬性。
答案| 答案| 答案| 答案| 答案| 答案| 回答
感謝所有答案,但解決方案/錯誤在我的代碼中。 設置這兩個CLR屬性后,我忘了更新我的網格。 非常遺憾。
但這里有一些你可能想知道的事實:
對我來說,使用普通CLR屬性是此時的最佳解決方案,因為我傳遞給控件的值是針對控件的每個實例進行硬編碼的,並且它們在運行時不會更改。 當然,我想使用附加的DP,如果值在運行時更改,他們不會。
感謝您的快速解答,但最終這是我的錯。
我只是確認這似乎是問題中提到的視覺工作室錯誤。 我向控件添加了幾個屬性,花了一個小時試圖找出它不會構建的原因。 閱讀上面的帖子后,我只需關閉xaml文件,點擊構建並成功構建。 使用VS 2013社區sp 4。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.