Quantcast
Channel: WPF Localization Extension
Viewing all 286 articles
Browse latest View live

Commented Issue: Memory leaks in ParentChangedNotifier [9277]

$
0
0
I'm currently writing an application which has multiple Windows which can be dynamically created, destroyed and recreated by the user. I noticed that the first instance of a Window is kept in memory until the application is destroyed, meaning that I will
often have two instances of the same Window in memory at any one time.

After a bit of hunting I've tracked this down to ParentChangedNotifierHelper.cs in the WPF Localization Extension. In the GetValueOrRegisterParentNotifier<T> a reference to the first instance of the view is added in the following block...



parentNotifiers.Add(target, new ParentChangedNotifier((FrameworkElement)depObj, () =>
{
ParentChangedAction(target);
}));


This reference hangs around forever and so the first instance of the view is never unloaded from memory.

I've reproduced the issue in very simple application (code available if needed). The application simply creates an instance of a view containing a localized Label.

Am I doing something wrong? Is there any way I can work around this?

Any help would be much appreciated!
Comments: I can verify the situation that you described and it seems to be connected to another issue. I'm on it.

Commented Issue: Memory leaks in ParentChangedNotifier [9277]

$
0
0
I'm currently writing an application which has multiple Windows which can be dynamically created, destroyed and recreated by the user. I noticed that the first instance of a Window is kept in memory until the application is destroyed, meaning that I will
often have two instances of the same Window in memory at any one time.

After a bit of hunting I've tracked this down to ParentChangedNotifierHelper.cs in the WPF Localization Extension. In the GetValueOrRegisterParentNotifier<T> a reference to the first instance of the view is added in the following block...



parentNotifiers.Add(target, new ParentChangedNotifier((FrameworkElement)depObj, () =>
{
ParentChangedAction(target);
}));


This reference hangs around forever and so the first instance of the view is never unloaded from memory.

I've reproduced the issue in very simple application (code available if needed). The application simply creates an instance of a view containing a localized Label.

Am I doing something wrong? Is there any way I can work around this?

Any help would be much appreciated!
Comments: Hi, can you please test if the latest version on GitHub will fix your problem?

Commented Issue: Memory leaks in ParentChangedNotifier [9277]

$
0
0
I'm currently writing an application which has multiple Windows which can be dynamically created, destroyed and recreated by the user. I noticed that the first instance of a Window is kept in memory until the application is destroyed, meaning that I will
often have two instances of the same Window in memory at any one time.

After a bit of hunting I've tracked this down to ParentChangedNotifierHelper.cs in the WPF Localization Extension. In the GetValueOrRegisterParentNotifier<T> a reference to the first instance of the view is added in the following block...



parentNotifiers.Add(target, new ParentChangedNotifier((FrameworkElement)depObj, () =>
{
ParentChangedAction(target);
}));


This reference hangs around forever and so the first instance of the view is never unloaded from memory.

I've reproduced the issue in very simple application (code available if needed). The application simply creates an instance of a view containing a localized Label.

Am I doing something wrong? Is there any way I can work around this?

Any help would be much appreciated!
Comments: For your convenience, I attached the extension DLL.

Commented Issue: Slow performance on Wrap Panel [9313]

$
0
0
Hello devs,

Currently I am working on a project that display a list of item inside wrappanel, and each item's template will contain a TextBlock which display the item's name and a text label with localization.

The problem is, the list_1 is 1000 items long, it take around 1 second for first load, which is fine, however, when I switch the warppanel to load the list_2 (1000 items long), it will take 2 second, and switch the warppanel to load back the list_1, it will take 5 seconds, and each time when I switch the ItemsSource, it will take longer time to load the list.

But for the same logic, without localization, the time for loading is constant (around 1 second) for loading the list, no matter how many times you switch the ItemsSource.

Does anyone has this problem before? Please help.. Thanks!

Sample project download link:
[http://www.verge.hk/temp/michael/localizeproject.zip](http://www.verge.hk/temp/michael/localizeproject.zip)

MainWindow.xaml
```
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Engine="clr-namespace:WPFLocalizeExtension.Engine;assembly=WPFLocalizeExtension"
xmlns:lex="http://wpflocalizeextension.codeplex.com"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" x:Class="LocalizeProject.MainWindow"
lex:LocalizeDictionary.DesignCulture="en"
Title="MainWindow" Height="600" Width="800">
<Window.Resources>
<Style x:Key="ListViewItemStyle1" TargetType="{x:Type ListViewItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListViewItem}">
<Grid Height="70" HorizontalAlignment="Left" Width="70">
<TextBlock HorizontalAlignment="Stretch" Margin="0,0,0,34" TextWrapping="Wrap" Text="{Binding ItemName}" Width="Auto" Height="Auto"/>
<Grid Height="34" VerticalAlignment="Bottom" Background="Red" Margin="4">
<TextBlock x:Name="SoldoutLabel" Margin="0,8" TextWrapping="Wrap" Text="{lex:LocText LocalizeProject:MultiLanguage:WPF_沽清}" Foreground="White"/>
</Grid>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<ItemsPanelTemplate x:Key="ItemsPanelTemplate1">
<WrapPanel Orientation="Horizontal"
Width="{Binding ActualWidth,RelativeSource={RelativeSource AncestorType=ScrollContentPresenter}}" ScrollViewer.VerticalScrollBarVisibility="Disabled" d:DesignWidth="386" />
</ItemsPanelTemplate>
<Style x:Key="ListViewItemStyle2" TargetType="{x:Type ListViewItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListViewItem}">
<Grid Height="70" HorizontalAlignment="Left" Width="70">
<TextBlock HorizontalAlignment="Stretch" Margin="0,0,0,34" TextWrapping="Wrap" Text="{Binding ItemName}" Width="Auto" Height="Auto"/>
<Grid Height="34" VerticalAlignment="Bottom" Background="Red" Margin="4">
<TextBlock Margin="0,8" TextWrapping="Wrap" Text="Soldout" Foreground="White"/>
</Grid>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<ItemsPanelTemplate x:Key="ItemsPanelTemplate2">
<VirtualizingStackPanel IsItemsHost="True"/>
</ItemsPanelTemplate>
<DataTemplate x:Key="DataTemplate1">
<Grid Height="20" HorizontalAlignment="Left" Width="20">
<TextBlock HorizontalAlignment="Stretch" Margin="0,0,0,5" TextWrapping="Wrap" Text="{Binding ItemName}" Width="Auto" Height="Auto"/>
<Grid Height="10" VerticalAlignment="Bottom" Background="Red" Margin="4">
<TextBlock Margin="0" TextWrapping="Wrap" Text="{lex:LocText LocalizeProject:MultiLanguage:a01}" Foreground="White"/>
</Grid>
</Grid>
</DataTemplate>
</Window.Resources>
<Grid d:DataContext="{d:DesignData /SampleData/MainWindowViewModelSampleData.xaml}">
<ListView x:Name="ListViewLeft" HorizontalAlignment="Left" Margin="8,50,0,80" ItemsSource="{Binding AllItemMasterList}" Width="275" ItemContainerStyle="{DynamicResource ListViewItemStyle1}" ItemsPanel="{DynamicResource ItemsPanelTemplate1}">
<ListView.View>
<GridView>
<GridViewColumn/>
</GridView>
</ListView.View>
</ListView>
<ListView x:Name="ListViewRight" Margin="287,50,228,80" ItemsSource="{Binding AllItemMasterList_1}" ItemContainerStyle="{DynamicResource ListViewItemStyle2}" ItemsPanel="{DynamicResource ItemsPanelTemplate1}">
<ListView.View>
<GridView>
<GridViewColumn/>
</GridView>
</ListView.View>
</ListView>
<Button x:Name="LeftPageUpButton" Content="List 1" HorizontalAlignment="Left" Height="40" Margin="8,0,0,36" VerticalAlignment="Bottom" Width="105" Click="LeftPageUpButton_Click"/>
<Button x:Name="LeftPageDownButton" Content="List 2" HorizontalAlignment="Left" Height="40" Margin="117,0,0,36" VerticalAlignment="Bottom" Width="105" Click="LeftPageDownButton_Click"/>
<Button x:Name="RightPageUpButton" Content="List 1" Height="40" Margin="287,0,0,36" VerticalAlignment="Bottom" Click="RightPageUpButton_Click" HorizontalAlignment="Left" Width="105"/>
<Button x:Name="RightPageDownButton" Content="List 2" Height="40" Margin="0,0,283,36" VerticalAlignment="Bottom" Click="RightPageDownButton_Click" HorizontalAlignment="Right" Width="105"/>
<TextBlock HorizontalAlignment="Left" Height="38" Margin="8,8,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="214"><Run Language="zh-tw" Text="With Localization"/></TextBlock>
<TextBlock Height="38" Margin="287,8,283,0" TextWrapping="Wrap" VerticalAlignment="Top"><Run Language="zh-tw" Text="Without Localization"/></TextBlock>

</Grid>
</Window>
```

__Updates 31/01/2014:__
Moreover, the output windows will display the follow error whenever I feed a new list to the itemsource:

System.Windows.Data Error: 4 : Cannot find source for binding with reference 'RelativeSource FindAncestor, AncestorType='System.Windows.FrameworkElement', AncestorLevel='1''. BindingExpression:Path=Parent; DataItem=null; target element is 'MainWindow' (Name=''); target property is 'Parent' (type 'DependencyObject')
Comments: Hi, I fixed the Data errors in the latest GitHub version. Please refer to #9277 for a copy of this revision DLL. Regarding your problem, there is still one major issue, that I cannot solve from my side: You create a lot of extension instances (1k each list) that are bound to the controls. After flipping the list, these controls wait for being garbage collected. Until this moment, the corresponding extension instances will remain active. And as they cannot see the special state of their bound controls, they continue working and firing events etc. before the GC comes along removing both, the control and the extension instance. But this takes some time at 1k instances. This, in turn, means (choose one): - you have to trigger GC on your own (not good) - you have to destroy the controls and the bond to the particular extensions on your own (better) - you could simply get rid of the whole mess and fetch this particular string from a centralized point (e.g. your window). Then you'll only have one permanent extension instance for this one string. (best) - you have a far more better idea that is worth sharing here (better than best :-))

Edited Issue: Slow performance on Wrap Panel [9313]

$
0
0
Hello devs,

Currently I am working on a project that display a list of item inside wrappanel, and each item's template will contain a TextBlock which display the item's name and a text label with localization.

The problem is, the list_1 is 1000 items long, it take around 1 second for first load, which is fine, however, when I switch the warppanel to load the list_2 (1000 items long), it will take 2 second, and switch the warppanel to load back the list_1, it will take 5 seconds, and each time when I switch the ItemsSource, it will take longer time to load the list.

But for the same logic, without localization, the time for loading is constant (around 1 second) for loading the list, no matter how many times you switch the ItemsSource.

Does anyone has this problem before? Please help.. Thanks!

Sample project download link:
[http://www.verge.hk/temp/michael/localizeproject.zip](http://www.verge.hk/temp/michael/localizeproject.zip)

MainWindow.xaml
```
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Engine="clr-namespace:WPFLocalizeExtension.Engine;assembly=WPFLocalizeExtension"
xmlns:lex="http://wpflocalizeextension.codeplex.com"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" x:Class="LocalizeProject.MainWindow"
lex:LocalizeDictionary.DesignCulture="en"
Title="MainWindow" Height="600" Width="800">
<Window.Resources>
<Style x:Key="ListViewItemStyle1" TargetType="{x:Type ListViewItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListViewItem}">
<Grid Height="70" HorizontalAlignment="Left" Width="70">
<TextBlock HorizontalAlignment="Stretch" Margin="0,0,0,34" TextWrapping="Wrap" Text="{Binding ItemName}" Width="Auto" Height="Auto"/>
<Grid Height="34" VerticalAlignment="Bottom" Background="Red" Margin="4">
<TextBlock x:Name="SoldoutLabel" Margin="0,8" TextWrapping="Wrap" Text="{lex:LocText LocalizeProject:MultiLanguage:WPF_沽清}" Foreground="White"/>
</Grid>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<ItemsPanelTemplate x:Key="ItemsPanelTemplate1">
<WrapPanel Orientation="Horizontal"
Width="{Binding ActualWidth,RelativeSource={RelativeSource AncestorType=ScrollContentPresenter}}" ScrollViewer.VerticalScrollBarVisibility="Disabled" d:DesignWidth="386" />
</ItemsPanelTemplate>
<Style x:Key="ListViewItemStyle2" TargetType="{x:Type ListViewItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListViewItem}">
<Grid Height="70" HorizontalAlignment="Left" Width="70">
<TextBlock HorizontalAlignment="Stretch" Margin="0,0,0,34" TextWrapping="Wrap" Text="{Binding ItemName}" Width="Auto" Height="Auto"/>
<Grid Height="34" VerticalAlignment="Bottom" Background="Red" Margin="4">
<TextBlock Margin="0,8" TextWrapping="Wrap" Text="Soldout" Foreground="White"/>
</Grid>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<ItemsPanelTemplate x:Key="ItemsPanelTemplate2">
<VirtualizingStackPanel IsItemsHost="True"/>
</ItemsPanelTemplate>
<DataTemplate x:Key="DataTemplate1">
<Grid Height="20" HorizontalAlignment="Left" Width="20">
<TextBlock HorizontalAlignment="Stretch" Margin="0,0,0,5" TextWrapping="Wrap" Text="{Binding ItemName}" Width="Auto" Height="Auto"/>
<Grid Height="10" VerticalAlignment="Bottom" Background="Red" Margin="4">
<TextBlock Margin="0" TextWrapping="Wrap" Text="{lex:LocText LocalizeProject:MultiLanguage:a01}" Foreground="White"/>
</Grid>
</Grid>
</DataTemplate>
</Window.Resources>
<Grid d:DataContext="{d:DesignData /SampleData/MainWindowViewModelSampleData.xaml}">
<ListView x:Name="ListViewLeft" HorizontalAlignment="Left" Margin="8,50,0,80" ItemsSource="{Binding AllItemMasterList}" Width="275" ItemContainerStyle="{DynamicResource ListViewItemStyle1}" ItemsPanel="{DynamicResource ItemsPanelTemplate1}">
<ListView.View>
<GridView>
<GridViewColumn/>
</GridView>
</ListView.View>
</ListView>
<ListView x:Name="ListViewRight" Margin="287,50,228,80" ItemsSource="{Binding AllItemMasterList_1}" ItemContainerStyle="{DynamicResource ListViewItemStyle2}" ItemsPanel="{DynamicResource ItemsPanelTemplate1}">
<ListView.View>
<GridView>
<GridViewColumn/>
</GridView>
</ListView.View>
</ListView>
<Button x:Name="LeftPageUpButton" Content="List 1" HorizontalAlignment="Left" Height="40" Margin="8,0,0,36" VerticalAlignment="Bottom" Width="105" Click="LeftPageUpButton_Click"/>
<Button x:Name="LeftPageDownButton" Content="List 2" HorizontalAlignment="Left" Height="40" Margin="117,0,0,36" VerticalAlignment="Bottom" Width="105" Click="LeftPageDownButton_Click"/>
<Button x:Name="RightPageUpButton" Content="List 1" Height="40" Margin="287,0,0,36" VerticalAlignment="Bottom" Click="RightPageUpButton_Click" HorizontalAlignment="Left" Width="105"/>
<Button x:Name="RightPageDownButton" Content="List 2" Height="40" Margin="0,0,283,36" VerticalAlignment="Bottom" Click="RightPageDownButton_Click" HorizontalAlignment="Right" Width="105"/>
<TextBlock HorizontalAlignment="Left" Height="38" Margin="8,8,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="214"><Run Language="zh-tw" Text="With Localization"/></TextBlock>
<TextBlock Height="38" Margin="287,8,283,0" TextWrapping="Wrap" VerticalAlignment="Top"><Run Language="zh-tw" Text="Without Localization"/></TextBlock>

</Grid>
</Window>
```

__Updates 31/01/2014:__
Moreover, the output windows will display the follow error whenever I feed a new list to the itemsource:

System.Windows.Data Error: 4 : Cannot find source for binding with reference 'RelativeSource FindAncestor, AncestorType='System.Windows.FrameworkElement', AncestorLevel='1''. BindingExpression:Path=Parent; DataItem=null; target element is 'MainWindow' (Name=''); target property is 'Parent' (type 'DependencyObject')

Commented Issue: NuGet package DLLs are not strong signed [9266]

$
0
0
Hi
I've used your NuGet package to add a reference to your extension, but your DLLs are not signed.
So my project fails to build, as it's signed...
As a workaround I have to download the source and add my key to your DLLs manually.

Please update NuGet package with strong named DLLs.

Thanx and have a nice day,
Paolo
Comments: YES! .... :-)

Commented Task: Update ChangeLog and Documentation [9302]

$
0
0
The header tells the whole story :-|
Comments: This issue is still here... shouldn't close this somebody... :-)

New Post: Framework only localizes to invariant culture.

$
0
0
Hey there,

since one day now i'm trying to get the extension to work. The problem i encountered is that both in the designer and during runtime i only can see the resources defined in the invariant culture resx-File.

My resx files reside in the same assembly from which i am trying to resolve them. If I access them via plain xaml everthing works just fine. If i use the Loc markup extension i'm getting the invariant culture string. In my case for key AssemblyName:Strings:Test it is @Test but should be Test.

Can some give me a hint to get myself onto the right track solving the issue.

Thanks
Chris

New Comment on "Multiple assemblies and dictionaries"

$
0
0
How to change the culture at run time.

New Post: Framework only localizes to invariant culture.

$
0
0
Hi Chris,

Your description is not comprehensive enough to find the problem. Please write more details. Please also follow the examples that you can download in the download section or on GitHub or the doc section of this page.

Best regards,
Uwe

Commented Issue: Memory leaks in ParentChangedNotifier [9277]

$
0
0
I'm currently writing an application which has multiple Windows which can be dynamically created, destroyed and recreated by the user. I noticed that the first instance of a Window is kept in memory until the application is destroyed, meaning that I will
often have two instances of the same Window in memory at any one time.

After a bit of hunting I've tracked this down to ParentChangedNotifierHelper.cs in the WPF Localization Extension. In the GetValueOrRegisterParentNotifier<T> a reference to the first instance of the view is added in the following block...



parentNotifiers.Add(target, new ParentChangedNotifier((FrameworkElement)depObj, () =>
{
ParentChangedAction(target);
}));


This reference hangs around forever and so the first instance of the view is never unloaded from memory.

I've reproduced the issue in very simple application (code available if needed). The application simply creates an instance of a view containing a localized Label.

Am I doing something wrong? Is there any way I can work around this?

Any help would be much appreciated!
Comments: Sorry for the delayed reply, I didn't get a notification. I've tried the attached DLL an that seems to work as expected. Thanks very much.

Edited Issue: Memory leaks in ParentChangedNotifier [9277]

$
0
0
I'm currently writing an application which has multiple Windows which can be dynamically created, destroyed and recreated by the user. I noticed that the first instance of a Window is kept in memory until the application is destroyed, meaning that I will
often have two instances of the same Window in memory at any one time.

After a bit of hunting I've tracked this down to ParentChangedNotifierHelper.cs in the WPF Localization Extension. In the GetValueOrRegisterParentNotifier<T> a reference to the first instance of the view is added in the following block...



parentNotifiers.Add(target, new ParentChangedNotifier((FrameworkElement)depObj, () =>
{
ParentChangedAction(target);
}));


This reference hangs around forever and so the first instance of the view is never unloaded from memory.

I've reproduced the issue in very simple application (code available if needed). The application simply creates an instance of a view containing a localized Label.

Am I doing something wrong? Is there any way I can work around this?

Any help would be much appreciated!

Commented Issue: Memory leaks in ParentChangedNotifier [9277]

$
0
0
I'm currently writing an application which has multiple Windows which can be dynamically created, destroyed and recreated by the user. I noticed that the first instance of a Window is kept in memory until the application is destroyed, meaning that I will
often have two instances of the same Window in memory at any one time.

After a bit of hunting I've tracked this down to ParentChangedNotifierHelper.cs in the WPF Localization Extension. In the GetValueOrRegisterParentNotifier<T> a reference to the first instance of the view is added in the following block...



parentNotifiers.Add(target, new ParentChangedNotifier((FrameworkElement)depObj, () =>
{
ParentChangedAction(target);
}));


This reference hangs around forever and so the first instance of the view is never unloaded from memory.

I've reproduced the issue in very simple application (code available if needed). The application simply creates an instance of a view containing a localized Label.

Am I doing something wrong? Is there any way I can work around this?

Any help would be much appreciated!
Comments: Great - thanks for your check. Then I'll mark this issue as resolved and finish the upcoming release soon.

New Post: MissingManifestResourceException

$
0
0
Hi!

The extension which I got from Nuget, is working fine, except in the designer where I strangely get an error when I build the project and try to click in the designer:
Could not find any resources appropriate for the specified culture or the neutral culture.  Make sure ".SEM-Mobile.WPF.resources.resources" was correctly embedded or linked into assembly "SEM-Mobile.WPF" at compile time, or that all the satellite assemblies required are loadable and fully signed.
   at System.Resources.ManifestBasedResourceGroveler.HandleResourceStreamMissing(String fileName)
   at System.Resources.ManifestBasedResourceGroveler.GrovelForResourceSet(CultureInfo culture, Dictionary`2 localResourceSets, Boolean tryParents, Boolean createIfNotExists, StackCrawlMark& stackMark)
   at System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo requestedCulture, Boolean createIfNotExists, Boolean tryParents, StackCrawlMark& stackMark)
   at System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo culture, Boolean createIfNotExists, Boolean tryParents)
   at System.Resources.ResourceManager.GetObject(String name, CultureInfo culture, Boolean wrapUnmanagedMemStream)
   at System.Resources.ResourceManager.GetObject(String name, CultureInfo culture)
   at WPFLocalizeExtension.Providers.ResxLocalizationProviderBase.GetLocalizedObject(String key, DependencyObject target, CultureInfo culture)
   at WPFLocalizeExtension.Engine.LocalizeDictionary.GetLocalizedObject(String key, DependencyObject target, CultureInfo culture, ILocalizationProvider provider)
   at WPFLocalizeExtension.Engine.LocalizeDictionary.GetLocalizedObject(String key, DependencyObject target, CultureInfo culture)
   at WPFLocalizeExtension.Extensions.LocExtension.FormatOutput(TargetInfo endPoint, TargetInfo info)
   at XAMLMarkupExtensions.Base.NestedMarkupExtension.UpdateNewValue(TargetPath targetPath)
   at XAMLMarkupExtensions.Base.NestedMarkupExtension.UpdateNewValue(TargetPath targetPath)
   at WPFLocalizeExtension.Extensions.LocExtension.ResourceChanged(DependencyObject sender, DictionaryEventArgs e)
   at WPFLocalizeExtension.Engine.LocalizeDictionary.DictionaryEvent.Invoke(DependencyObject sender, DictionaryEventArgs args)
   at WPFLocalizeExtension.Engine.LocalizeDictionary.ProviderUpdated(Object sender, ProviderChangedEventArgs args)
   at WPFLocalizeExtension.Providers.ResxLocalizationProviderBase.OnProviderChanged(DependencyObject target)
   at WPFLocalizeExtension.Providers.ResxLocalizationProvider.AttachedPropertyChanged(DependencyObject obj, DependencyPropertyChangedEventArgs args)
   at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
   at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
   at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal)
   at System.Windows.DependencyObject.SetValue(DependencyProperty dp, Object value)
   at Microsoft.Expression.Platform.WPF.WpfDependencyPropertyImplementation.SetValue(Object target, Object valueToSet)
   at Microsoft.Expression.DesignModel.Metadata.DependencyPropertyReferenceStep.SetValue(Object target, Object valueToSet)
   at Microsoft.Expression.DesignModel.Core.InstanceBuilderOperations.SetValue(Object target, IProperty propertyKey, Object value)
   at Microsoft.Expression.DesignModel.InstanceBuilders.ClrObjectInstanceBuilder.ModifyValue(IInstanceBuilderContext context, ViewNode target, IProperty propertyKey, Object value, PropertyModification modification)
   at Microsoft.Expression.DesignModel.InstanceBuilders.DependencyObjectInstanceBuilderBase`1.ModifyValue(IInstanceBuilderContext context, ViewNode target, IProperty propertyKey, Object value, PropertyModification modification)
   at Microsoft.Expression.Platform.WPF.InstanceBuilders.FrameworkElementInstanceBuilder.ModifyValue(IInstanceBuilderContext context, ViewNode target, IProperty propertyKey, Object value, PropertyModification modification)
   at Microsoft.Expression.Platform.WPF.InstanceBuilders.WindowInstanceBuilder.ModifyValue(IInstanceBuilderContext context, ViewNode target, IProperty propertyKey, Object value, PropertyModification modification)
   at Microsoft.Expression.DesignModel.InstanceBuilders.ClrObjectInstanceBuilder.UpdateProperty(IInstanceBuilderContext context, ViewNode viewNode, IProperty propertyKey, DocumentNode valueNode)

Here's my view xaml:
xmlns:lex="http://wpflocalizeextension.codeplex.com"
    lex:LocalizeDictionary.DesignCulture="en"
    lex:ResxLocalizationProvider.DefaultAssembly="SEM-Mobile.WPF"
    lex:ResxLocalizationProvider.DefaultDictionary="DialogsStrings"
However, if I change "en" to something else and then back to "en" then the error goes away and I can click in the designer.

Here's a video explaining the problem. The cursor changing to busy is when I hit the build function.

http://screencast.com/t/OEPgfakAH

Thanks :)

New Post: Key binding

$
0
0
Hi.
Is it possible to bind Key value on a ViewModel instead of statically setting it in XAML?

Reviewed: v2.2.0 (Feb 28, 2014)

$
0
0
Rated 5 Stars (out of 5) - This is exactly what we needed. Great tool!

New Comment on "Localization providers"

$
0
0
When I updated the package to the newest Version a method GetFullyQualifiedResourceKey() was added to IlocalizationProvider interface. Why is it needed and what is it supposed to do?

New Post: Dynamic csv loading

$
0
0
Does CSVLocalizationProvider supports dynamic csv resource file change at runtime?

New Post: Dynamic csv loading

$
0
0
Short answer: No.
The CSVLocalizationProvider was born to provide a kind of "demo-provider" to show that everyone can build providers, CSV was the simplest one.

I think we don't even support changing resources-keys, just resource-sources in general.
But Uwe may know more about that.

Cheers

New Post: Framework only localizes to invariant culture.

$
0
0
Hello,

We are having the same issue. Only seeing invariant-culture strings. This started happening when upgrading from 2.1.4 to 2.2, no other changes. Our fix for now is to downgrade to 2.1.4; everything works fine there. The project is using .NET 4.5.1, x86 assembly.
Viewing all 286 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>