У меня есть настраиваемый элемент управления в WPF. Я добавил два обычного свойства CLR, которые выглядят так:WPF: свойство CLR Integer не распознано или недоступно из XAML
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, восстановите проект, ошибки исчезнут.
Даже если можно построить проект без каких-либо ошибок, свойства не установлены.
ОТВЕТ | ОТВЕТ | ОТВЕТ | ОТВЕТ | ОТВЕТ | ОТВЕТ | ANSWER
Спасибо за все ответы, но решение/ошибка была внутри моего кода. Я забыл обновить свою сетку после установки этих двух свойств CLR. Прошу прощения.
Но вот некоторые факты, которые вы можете знать:
- Вы можете использовать и установить свойства равнину CLR внутри WPF XAML. Я проверил его и свойства были установлены из XAML
- Ошибка «не распознана или недоступна», кажется, является ошибкой VS, поскольку проект является готовым
- Если вы закроете файлы XAML внутри VS, ошибок в построении больше
Для меня, использование простых свойств CLR является лучшим решением в этой точке, поскольку значения, которые я передаю в элемент управления, жестко запрограммированы для каждого экземпляра элемента управления, и они не изменяются во время выполнения. Конечно, я бы хотел использовать подключенные DP, если значения менялись во время выполнения, чего у них нет.
Спасибо за ваши быстрые ответы, но в конце концов это была моя ошибка.
Спасибо, Петр. Я проверил это с зависимыми свойствами, и я получил ту же ошибку. Я работаю над этим со вчерашнего дня. Я попробовал обычный DP, подключил DP и теперь стал обычным CLR. – Michael
На самом деле вы можете использовать нормальное свойство в xaml, если вы не используете привязку как это, так что это не проблема –
Если я закрою все окна XAML, перестройте проект, ошибки исчезнут. => это означает, что на самом деле это ошибка конструктора, а не ошибка сборки, что произойдет, если вы попытаетесь запустить ее? –