Что делать, если WPF Window не распознает пользовательский элемент управления, определенный в том же проекте? - PullRequest
4 голосов
/ 20 января 2009

У меня есть окно «Работа» в XAML, в котором используется пользовательский элемент управления «Статус», определенный в том же проекте. Когда я создаю решение, оно возвращается нормально, но когда я открываю дизайн-представление для окна, Visual Studio говорит: «Не удалось создать экземпляр типа« Состояние ». Ниже приведен XAML для окна« Операция »:

»
<Window x:Class="TCI.Indexer.UI.Operacao"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:tci="clr-namespace:TCI.Indexer.UI.Controles"
        Title=" "
        MinHeight="550"
        MinWidth="675"
        Loaded="Load"
        ResizeMode="NoResize"
        WindowStyle="None"
        WindowStartupLocation="CenterScreen"
        WindowState="Maximized"
        Focusable="True">
  <Canvas Name="canv">      
    <tci:Status x:Name="ucStatus"/>
    <Grid Canvas.Top="0" Canvas.Left="0">        
      <StackPanel Orientation="Horizontal">
        <!-- Indices -->
        <Label Width="200"/>        
      </StackPanel>
    </Grid>
  </Canvas>
</Window>

xmlns:tci - это пространство имен, в котором находится пользовательский контроль состояния. И tci:Status становится подчеркнутым синим цветом, когда эта ошибка происходит. Как использовать UserControl, как это?

Ответы [ 5 ]

2 голосов
/ 30 сентября 2009

У меня постоянно возникала проблема с одним элементом управления в моем проекте, и я решил ее, изменив все мои изображения на DynamicResource вместо StaticResource.

Действительно странная вещь заключается в том, что дизайнер работал очень хорошо для самого элемента управления и показывал изображения, как и ожидалось. Только когда я использовал элемент управления в моем главном окне, дизайнер дал мне сообщение «Не удалось создать экземпляр».

1 голос
/ 15 октября 2009

Подобно тому, что сказал Джон Нортон, я также обнаружил, что эта ссылка ( - ссылка удалена, см. Ниже - ), которая подразумевает ресурсы. У меня была ситуация, описанная в ссылке, и исправление Джона разобрало ее.

EDIT

Извините, теперь для ссылки требуется логин, а страница больше не существует. Я не мог найти то, что должен был быть через три года.

1 голос
/ 20 января 2009

Попробуйте очистить весь проект, а затем выполните полную перестройку. По моему мнению, дизайнер WPF в VS плохо сделан, и повсюду есть странные проблемы, подобные этой.

Я рекомендую не полагаться ни на что в Design View, на данный момент - это просто слишком нестабильно. Попробуйте Expression Blend, с такими вещами немного лучше. Если вы не хотите идти по этому пути, возможно, вам лучше создать и запустить приложение: - (

Если вы используете VS 2008, у вас установлен SP1?

1 голос
/ 20 января 2009

Я точно не знаю, в чем решение, но это случается и со мной время от времени. Я заканчиваю тем, что удаляю объявление пространства имен, перестраиваюсь и пытаюсь снова. : \

0 голосов
/ 26 января 2009

Обычно я вижу это, когда не построил элемент управления. Убедитесь, что вы создали элемент управления и посмотрите, видите ли вы проблему. Иногда VS просто запутывается, и вам нужно закрыть и открыть элемент управления, с которым у вас возникли проблемы. В этом случае это будет ваше окно.

...