Tengo un proyecto en VS2010 que usa XAML y ahora necesito cargarlo en Expression Blend 4. El proyecto se compila y se ejecuta en VS2010 y este es el primero tiempo que ha sido cargado en Blend. SÍ construye y ejecuta en Blend aunque los miembros no sean reconocidos.Error de propiedad no reconocido o no accesible al cargar proyecto VS2010 en Expression Blend
¿Por qué no se reconoce la propiedad Scale y por qué aparece como un error cuando funciona?
EDIT Aunque esto se crea y se ejecuta, el XAML no se muestra gráficamente en la combinación y, por lo tanto, no puede ser modificado por un usuario no técnico.
En varios de los archivos .xaml que contienen referencias a controles de usuario no es un atributo que no es reconocido por mezcla con el error:
The member "XXXX" is not recognized or is not accessible
existe la propiedad en el código detrás de archivo .cs y en cada caso, el mensaje de error es el mismo.
He visto muchas respuestas posibles a esto en Internet, pero ninguna de ellas es una solución. Los elementos a los que se hace referencia no son de solo lectura. Las diferentes clases y propiedades son públicas. También agregué la siguiente referencia de WPF en el archivo .csproj, que faltaba.
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
En el siguiente código, el atributo Escala no se reconoce aunque exista como propiedad en el control de usuario.
Aquí es el control de usuario en MyLogo.xaml:
<UserControl x:Class="NamespaceX.NamespaceY.UI.Shapes.MyLogo"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Height="132" Width="105">
<Canvas>
<Canvas.LayoutTransform>
<ScaleTransform x:Name="st" CenterX="0" CenterY="0" />
</Canvas.LayoutTransform>
<Image Source="/Client;component/Images/MyLogo.png"/>
</Canvas>
Aquí está el código detrás de MyLogo.xaml.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace NamespaceX.NamespaceY.UI.Shapes
{
/// <summary>
/// Interaction logic for MyLogo.xaml
/// </summary>
public partial class MyLogo : UserControl
{
public double Scale
{
get
{
return st.ScaleX;
}
set
{
st.ScaleX = value;
st.ScaleY = value;
}
}
public MyLogo()
{
InitializeComponent();
}
}
}
En mi archivo me Navigation.xaml tenga esto:
<UserControl x:Class="NamespaceX.NamespaceY.UI.UserControls.Navigation"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:shape="clr-namespace:NamespaceX.NamespaceY.UI.Shapes"
Height="185" Width="1280" Loaded="UserControl_Loaded">
<FrameworkElement.Resources>
<ResourceDictionary Source="../Resources/Main.xaml" />
</FrameworkElement.Resources>
<Canvas>
<shape:MyLogo Scale="1.2" Height="181.483" Canvas.Left="38" Canvas.Top="4" Width="188" />
<StackPanel Canvas.Left="205" Canvas.Top="-2" Width="1062">
</StackPanel>
</Canvas>
Esta configuración no tiene nada que ver con el error anterior. Mi proyecto tiene AnyCPU por defecto en el archivo .csproj, y todavía me enfrento a este error :) – balint
Sí, ¿qué tiene esto que ver con algo? –
no tiene nada que ver, ¿cómo podría marcarse como respuesta –