I need to use the IConverter class and understand its in the System.Windows.Data namespace.
But this is unavailable when I go to add this as a reference.
I understand from other posts that somehow it may be tied up with PresentationFramework.dll = but really not sure how I use this?
And still not sure why it is not available as are all the other references that I can easily add.
thanks
PresentationFramework.dll is an assembly that contains the WPF framework. From your question you indicate that you are using Windows Phone 7, therefore your project should reference assemblies that are specifically part of the Windows Phone 7 framework.
IValueConverter is in the System.Windows.Data namespace and is located within the System.Windows assembly. It is part of the .NET framework subset available to Windows Phone 7 developers, so you will have no issue using it.
Related
I developed a Xamarin Cross Platform application that is working perfectly on Windows but when I try to recompile for Android I get the following error:
Can not resolve reference: `Windows.Foundation.UniversalApiContract
I use the Windows.Foundation.UniversalApiContract reference because of the Windows.Storage class (generate files in internal memory).
I understand that I may have to change the recording method on Android but I can't even get to that stage...
How do I resolve this situation?
Just as ToolmakerSteve said, Windows namespace relies on features that exist only in Windows. The reference should not be in the main .Net Standard library but in the UWP Application.
First, you can move the code to the Windows folder or set the #if Windows around it.
Second, you can write the code for each platform. I found the answer you can refer to Can not resolve reference: Windows.Foundation.UniversalApiContract in Android Application.
I want to make a multilanguage program via using resources(.resw files).
Its really easy for PCL but I dont know how to do it in Shared Project?
Create a Portable Class Library (PCL, or just Class Library Project) using .NET Standard, in order to localize resources in a Xamarin.Forms shared project.
Create the PCL, and then reference it from all 3 projects (Android, iOS, UWP).
Using a naming convention like AppResource.resx for the main resource, select that code generation should be Public, from inside the resource editor (in the top toolbar, there is a drop-down.)
Afterward, create a resource filed named AppResources.fr-FR.resx for French, for example. Always use the format ResourceFile.Language.resx.
Code generation will automatically be disabled for the localized resource when you name it, by the project manager. Keep it that way. It doesn't need code generation.
VoilĂ ! You can now access localized resources from a shared Xamarin.Forms app using a Portable Class Library.
Now you can follow the rest of This Tutorial From Microsoft from within the PCL.
I've faced some day ago the same problem (and with .net standard there isn't documentation about it).
I've created a library to do quickly the localization also in shared project.
Hope it helps:
https://github.com/andreabbondanza/DewXamarinLocalization
I am using Xamarin and I am new to it. I need to reference a dll which already uses System.Drawing due to which I am getting error. I know we can't use it because it is built aroung GDI+.
So plz let me know what should I do to successfully refer my dll. Even if I remove reference of System.Drawing from my dll then it is getting errors as it is using Bitmap, Image,Size etc. If I have to remove System.Drawing dll then how should I resolve the errors. Is there something else that can be used instead of Bitmap,Image,Size etc.
Plz help me and guide me with simple explanation as I am a beginner
As you found out there is no System.Drawing in Xamarin on mobile. Thus you might reuse sources (I assume you have those) into android(?) library and instead of Drawing types use Android (or iOS) ones. That would require code changes though.
Xamarin Droid already has such classes in framework. You don't need to reference external dll's. All you need to do to start using them is using Android.Graphics; in your class.
I am facing unknown problem while using Prism 4. We implement business solution in MVVM pattern. For that I have used
1. Microsoft.Expression.Interactions
2. System.Windows.Interactivity
3. GalaSoft.MvvmLight.Extras.WPF4
for Interaction.Triggers, CallMethodAction and EventToCommand.
<SWI:Interaction.Triggers>
<SWI:EventTrigger SourceObject="{Binding ElementName=txtName}" EventName="GotFocus">
<MEI:CallMethodAction TargetObject="{Binding Path=DataContext,ElementName=txtName}" MethodName="txtName_GotFocus"></MEI:CallMethodAction>
</SWI:EventTrigger>
<SWI:EventTrigger SourceObject="{Binding ElementName=txtName}" EventName="KeyUp">
<GMEWCMD:EventToCommand Command="{Binding Path=DataContext.cmdtxtNameKeyUpEvent,ElementName=txtName}" PassEventArgsToCommand="True">
</GMEWCMD:EventToCommand>
</SWI:EventTrigger>
</SWI:Interaction.Triggers>
Everything is working fine but now we required to make whole system loosely couple we choose prism 4. We already achieved this but above code create following problem as below.
Could not load file or assembly 'Microsoft.Expression.Interactions, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
If I comment above code everything is working fine. I don't know what an issue. Does PRISM 4 not support above assemblies?
Please help us to get rid from this problem.
Thank you
This commonly happens to me when I reference both Microsoft.Expression.Interactions and System.Windows.Interactivity in a view that belongs to a module, but I fail to also add those references to the project that acts as the shell.
I had a similar problem with Prism in Visual Studio 2012. The XAML editor would fail with the same exception.
The solution was to install Microsoft Expression Blend SDK. The assembly should be part of SDK. Allegedly, it is necessary for binding between control events and commands in XAML and some code may require it.
I had the same problem during a Prism 6.1 composite app using .NET 4.5.2, where i was referencing in one of the modules (class library) the Microsoft.Expression.Interactions & System.Windows.Interactivity.
Eventually i had to reference the same dlls in the Desktop project (where bootstrapper and Shell belong)
I've been playing about with the monodroid (preview 8980) and I'm trying to create an application that will run on Android, WP7 and silverlight.
My plan is to create a single core class library and then a seperate project for each of the platforms that will contain the UI stuff - so one monodroid project, one for WP7 and a SL one, all of which will reference the core class library.
The main problem with this is that it will be possible to implement some functionality in the core library that will work fine on silverlight, but not on WP7 for instance. I believe the best way to make sure this doesn't happen is by making the core library a silverlight 3 project, as this will be the lowest common denominator.
The problem I am facing now is that I can't reference a SL3 library from the monodroid project. I get this warning - 'Warning 2 The project 'TMCore' cannot be referenced. The referenced project is targeted to a different framework family (Silverlight)'
Any ideas?
Bah I seam to always end up answering my own questions - http://www.gregshackles.com/2010/12/shared-libraries-for-windows-phone-7-monodroid-and-beyond/
according to
http://monodroid.net/Documentation/Assemblies
you must compile your core-stuffe into a seperate assembly you cannot share a core-dll.
> Note: MonoDroid is not ABI compatible with existing assemblies compiled for
> a different profile. You must recompile your source code to generate
> assemblies targeting the MonoDroid profile (just as you need to recompile
> source code to target Silverlight and .NET 3.5 separately).