Mam projekt w VS2010, który używa XAML, a teraz muszę go załadować do Expression Blend 4. Projekt jest budowany i działa w VS2010 i jest to pierwszy czas został załadowany do Blend. Kompiluje się i działa w Blend, mimo że członkowie nie są rozpoznawani.Błąd nierozpoznany lub niedostępny podczas ładowania projektu VS2010 do Expression Blend
Dlaczego właściwość Skala nie jest rozpoznawana i dlaczego pojawia się jako błąd, gdy działa poprawnie?
EDIT Mimo to buduje i działa, XAML nie jest graficznie w mieszance, a zatem nie mogą być modyfikowane przez użytkownika nietechnicznym.
W liczbie .xaml plików, które zawierają odnośniki do usercontrols jest atrybutem, który nie jest rozpoznawany przez połączenie z błędem:
The member "XXXX" is not recognized or is not accessible
Obiekt istnieje w kodzie .cs za akt oraz w w każdym przypadku komunikat o błędzie jest taki sam.
Spojrzałem na wiele możliwych odpowiedzi na to w Internecie, ale żaden z nich nie jest rozwiązaniem. Wskazane elementy nie są tylko do odczytu. Różne klasy i właściwości są publiczne. Dodałem także następującą referencję WPF do pliku .csproj, którego brakowało.
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
W poniższym kodzie atrybut Scale nie jest rozpoznawany, mimo że istnieje jako właściwość w formancie użytkownika.
Oto UserControl w 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>
Oto kod w tyle 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();
}
}
}
w moim pliku Navigation.xaml I mieć to:
<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>
To ustawienie nie ma nic wspólnego z powyższym błędem. Mój projekt ma AnyCPU domyślnie w pliku .csproj, i nadal napotykam ten błąd :) – balint
Tak, co to ma z tym wszystkim wspólnego? –
nie ma nic wspólnego, jak to może być oznaczone jako odpowiedź –