Pregunta

Tengo problemas para usar Blend con mi solución de Visual Studio.

En tiempo de ejecución y en tiempo de compilación, todo está bien.

Como puede ver en la imagen, Blend me insta a construir el proyecto, pero no cambia la situación, incluso después de una compilación, reconstrucción, limpieza y compilación exitosas, sigue igual, la interfaz de usuario está bloqueada para el diseñador.

¿Algunas ideas?

alt text

EDITAR:Errores tipográficos solucionados, el problema persiste.

Código del convertidor:

namespace BlendTest
{
    public class TestConvert : IValueConverter
    {
        #region IValueConverter Members

        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            return ((bool)value) ? Visibility.Visible : Visibility.Collapsed;
        }

        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            throw new NotImplementedException();
        }

        #endregion
    }  
}      



<Window
  x:Class="XP2Win7.UserInterface.ImageViewer.MainView.MainWindow"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:local="clr-namespace:BlendTest"
  WindowState="Maximized"
  WindowStartupLocation="CenterScreen"
  Background="Transparent"
  Title="Test">
    <Window.Resources>
        <local:TestConvert x:Key="TestConvert"/>
    </Window.Resources>
    <Grid x:Name="RootLayout" >
        <TextBlock Text="Hello" Visibility="{Binding IsMargol, Converter={StaticResource TestConvert}}" FontSize="48" FontWeight="Bold" />
    </Grid>
</Window>

Gracias Ariel

¿Fue útil?

Solución 2

Bueno, mientras que la causa del problema es aún desconocido para mí.

La solución al lío era como sigue:

  1. He creado un nuevo proyecto de biblioteca de código, y se trasladó allí todos mis controles y convertidores.

  2. I utiliza el atributo XmlnsDefinition para decorar todo el montaje para cada uno fue correspondientes al mismo espacio de nombres.

  3. fijación de todas las referencias.

y listo.

Ariel

Otros consejos

Parece que usted tiene errores tipográficos en el XAML:

Alubm en lugar de Album y BlentTest en lugar de BlendTest

Estoy adivinando los errores son en realidad verdaderos errores de compilación, y corregir los errores tipográficos dos por encima de lo más probable "solución" del diseñador.


Editar:

El candidato más probable que veo es que el convertidor está en un proyecto separado de su archivo XAML (pero en la misma solución). Si ese es el caso, asegúrese de especificar el conjunto en la declaración XAML, y asegúrese de que el otro proyecto (con BlendTest) se hace referencia correctamente. es decir:

xmlns:local="clr-namespace:BlendTest;assembly:BlendTest"

Si su relación con un tipo (con espacio de nombres) definida en un proyecto diferente, tiene que existir, así como la referencia de ensamblado.

Esta respuesta fijado por mí:. I reajustó la 'Plataforma de destino' a "Cualquier CPU

¿Qué funcionó para mí?

Cambiar la ruta de salida de la compilación de bin/x86/Debug a bin/Debug funcionó para mí.Pero todavía no tenía ningún sentido ya que mi objetivo de plataforma estaba configurado en 'x86'.Así que decidí profundizar más en el tema y descubrí que la selección de Plataforma en el menú desplegable 'x86' no reflejaba el 'Valor' establecido en el archivo de configuración del proyecto.

Descargué el proyecto en VS, abrí el archivo .csproj en el editor para ver cuál es el valor de 'Plataforma'.Para mi sorpresa, está configurado en "Cualquier CPU", mientras que el menú desplegable debajo de las opciones de compilación mostraba "x86".Todo lo que hice fue editar manualmente el archivo .csproj para que leyera 'x86'.

Estos son los pasos para resolver:

  • Haga clic derecho en el proyecto VS
  • Descargar
  • Haga clic derecho y edite el archivo .csproj
  • Asegúrese de que 'Plataforma' esté configurada en la correcta
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top