2013-09-16 2 views
4

У меня есть настраиваемый элемент управления в 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, если значения менялись во время выполнения, чего у них нет.

Спасибо за ваши быстрые ответы, но в конце концов это была моя ошибка.

+0

Спасибо, Петр. Я проверил это с зависимыми свойствами, и я получил ту же ошибку. Я работаю над этим со вчерашнего дня. Я попробовал обычный DP, подключил DP и теперь стал обычным CLR. – Michael

+1

На самом деле вы можете использовать нормальное свойство в xaml, если вы не используете привязку как это, так что это не проблема –

+1

Если я закрою все окна XAML, перестройте проект, ошибки исчезнут. => это означает, что на самом деле это ошибка конструктора, а не ошибка сборки, что произойдет, если вы попытаетесь запустить ее? –

ответ

2

Я просто подтверждаю, что это, кажется, визуальная ошибка студии, как упоминалось в вопросе. Я добавил пару свойств в элемент управления и потратил час, пытаясь понять, почему он не будет строить. После прочтения вышеприведенного сообщения я просто закрыл файл xaml, щелкнул его и успешно построил. Использование VS 2013 сообщества sp 4.

+0

Ты просто спас мой час. Благодаря! –

Смежные вопросы