Quantcast
Channel: Windows Presentation Foundation (WPF) forum
Viewing all articles
Browse latest Browse all 18858

WPF TextBlock static string from Resource file

$
0
0

I have 2 WPF Projects and using WPF forms. I am trying to use Resource file for my static strings. (I don't know if that's the way to use Resource.Strings in WPF)

The following line works in one project but not the other during the run time. (Works fine in the designer - displays correct data)

<TextBlock Grid.Row="1" Style="{StaticResource DataInfoLabel}" Text="{x:Static prop:Resources.CostPerStonLabel}" Grid.Column="3"></TextBlock>

This line works fine in both projects

<TextBlock Grid.Row="1" Style="{StaticResource DataInfoLabel}" Text="Test" Grid.Column="3"></TextBlock>

What I am doing wrong?

Here's the error message I am getting during the runtime.


System.Windows.Markup.XamlParseException occurred
  HResult=-2146233087
  Message='Provide value on 'System.Windows.Markup.StaticExtension' threw an exception.' Line number '42' and line position '37'.
  Source=PresentationFramework
  LineNumber=42
  LinePosition=37
  StackTrace:
       at System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
       at System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri)
       at System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream)
       at System.Windows.Application.LoadComponent(Object component, Uri resourceLocator)
       at eROICalculator.Views.ProductionDataControls.ProductionBaseLineConditionsView.InitializeComponent() in d:\Code\C#Code\Nalco\eROICalculator\eROICalculator\Views\ProductionDataControls\ProductionBaseLineConditionsView.xaml:line 1
       at eROICalculator.Views.ProductionDataControls.ProductionBaseLineConditionsView..ctor() in d:\Code\C#Code\Nalco\eROICalculator\eROICalculator\Views\ProductionDataControls\ProductionBaseLineConditionsView.xaml.cs:line 10
  InnerException: System.ArgumentException
       HResult=-2147024809
       Message='eROICalculator.Properties.Resources.CostPerStonLabel' StaticExtension value cannot be resolved to an enumeration, static field, or static property.
       Source=System.Xaml
       StackTrace:
            at System.Windows.Markup.StaticExtension.ProvideValue(IServiceProvider serviceProvider)
            at MS.Internal.Xaml.Runtime.ClrObjectRuntime.CallProvideValue(MarkupExtension me, IServiceProvider serviceProvider)
       InnerException: 

Here's the entire UserForm from the none working project

<UserControl x:Class="eROICalculator.Views.ProductionDataControls.ProductionBaseLineConditionsView"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:syncfusion="http://schemas.syncfusion.com/wpf"
             xmlns:system="clr-namespace:System;assembly=mscorlib"
             xmlns:local="clr-namespace:eROICalculator.Views.ProductionDataControls"
             xmlns:prop="clr-namespace:eROICalculator.Properties"
             mc:Ignorable="d" 
             d:DesignHeight="350" d:DesignWidth="800">

    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"></RowDefinition>
            <RowDefinition Height="Auto"></RowDefinition>
        </Grid.RowDefinitions>

        <Grid Grid.Row="0">
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"></RowDefinition>
                <RowDefinition Height="Auto"></RowDefinition>
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto"></ColumnDefinition>
                <ColumnDefinition Width="Auto"></ColumnDefinition>
                <ColumnDefinition Width="Auto"></ColumnDefinition>
                <ColumnDefinition Width="Auto"></ColumnDefinition>
                <ColumnDefinition Width="Auto"></ColumnDefinition>
                <ColumnDefinition Width="*"></ColumnDefinition>
            </Grid.ColumnDefinitions>

            <TextBlock Grid.Row="0" Grid.Column="1" Style="{StaticResource DataInfoLabel}" Text="Incremental Profit, Actual:"></TextBlock>
            <syncfusion:DoubleTextBox Value="{Binding IncrementalProfitActual}" Grid.Row="0" Grid.Column="2" Style="{StaticResource DoubleTextBoxData}" VerticalAlignment="Bottom"></syncfusion:DoubleTextBox>
            <TextBlock Grid.Row="0" Style="{StaticResource DataInfoLabel}" Text="$ / ston" Grid.Column="3"></TextBlock>
            <TextBlock Grid.Row="0" Grid.Column="4" Style="{StaticResource CurlyBracketTextBlock}" TextAlignment="Left" Width="400" VerticalAlignment="Top"
                       Text="&lt;- If actual is unknown, Industry Average will be used."></TextBlock>

            <TextBlock Grid.Row="1" Grid.Column="1" Style="{StaticResource DataInfoLabel}" Text="Incremental Profit, Industry Average:"></TextBlock>
            <syncfusion:DoubleTextBox Grid.Row="1" Grid.Column="2" Value="{Binding ProfitAverageCalc, Mode=OneWay}" ToolTip="Industry Average Per Grade selection." 
                                      Style="{StaticResource DoubleTextBoxDataReadOnly}"></syncfusion:DoubleTextBox>
            <TextBlock Grid.Row="1" Style="{StaticResource DataInfoLabel}" Text="{x:Static prop:Resources.CostPerStonLabel}" Grid.Column="3"></TextBlock>

        </Grid>

        <Grid Grid.Row="1">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="103*"/>
                <ColumnDefinition Width="17*"/>
            </Grid.ColumnDefinitions>
            <syncfusion:GroupBoxAdv x:Uid="Data" Style="{StaticResource GroupBox}" Height="310" Header="Baseline Condition(s) Description = 'A' / Recommended / Trial Condition(s) Description = 'B'" Margin="0,1,0,0" Grid.ColumnSpan="2">
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="Auto" MinWidth="199"></ColumnDefinition>
                        <ColumnDefinition Width="Auto"></ColumnDefinition>
                        <ColumnDefinition Width="Auto"></ColumnDefinition>
                        <ColumnDefinition Width="Auto"></ColumnDefinition>
                        <ColumnDefinition Width="Auto"></ColumnDefinition>
                        <ColumnDefinition Width="Auto"></ColumnDefinition>
                        <ColumnDefinition Width="*"/>
                    </Grid.ColumnDefinitions>

                    <Grid.RowDefinitions>
                        <RowDefinition Height="10"></RowDefinition>
                        <RowDefinition Height="Auto"></RowDefinition>
                        <RowDefinition Height="5"></RowDefinition>
                        <RowDefinition Height="Auto"></RowDefinition>
                        <RowDefinition Height="Auto"></RowDefinition>
                        <RowDefinition Height="Auto"></RowDefinition>

                    </Grid.RowDefinitions>

                    <StackPanel Grid.Row="4" Grid.Column="5" Width="240">
                        <local:DownTimeCalcAssist></local:DownTimeCalcAssist>
                    </StackPanel>
                    
                    <Border Grid.Row="1" Style="{StaticResource BorderStyle}" Grid.RowSpan="1"></Border>

                    <TextBlock x:Uid="SheetReamSizeActualLbl" Text="ADDITIONAL Baseline Condition(s) Description 'A':"
                               TextWrapping="Wrap" Grid.Column="0" Grid.Row="1" Width="190" Margin="0,8,3,12"
                           Style="{StaticResource DataInfoLabel}"></TextBlock>

                    <TextBox Grid.Row="1" Grid.Column="1"  VerticalAlignment="Stretch" Text="{Binding BaseLineConditionDescription}" 
                             Margin="2,9,0,5" MinWidth="150" Style="{StaticResource EditorTextBox}"></TextBox>


                    <Border Grid.Row="3" Style="{StaticResource BorderStyle}" Grid.RowSpan="1"></Border>

                    <TextBlock x:Uid="UnitLbl" Text="ADDITIONAL Recommended / Trial Condition(s) Description 'B':" TextWrapping="Wrap"
                              Width="190" Grid.Column="0" Grid.Row="3" Margin="0,8,3,12"
                           Style="{StaticResource DataInfoLabel}"></TextBlock>


                    <TextBox Grid.Row="3" Grid.Column="1" VerticalAlignment="Stretch" Text="{Binding RecommendedConditionDescription}"
                             Margin="2,9,0,5" MinWidth="150" 
                             Style="{StaticResource EditorTextBox}" ToolTip="Enter Unit Description&#xa;Ex: 1st Press Top Fabric"></TextBox>

                    <Grid Grid.Row="4" Grid.Column="0" ColumnSpan="3" Margin="0,25,0,0">
                        <Grid.RowDefinitions>
                            <RowDefinition Height="Auto"></RowDefinition>
                            <RowDefinition Height="Auto"></RowDefinition>
                            <RowDefinition Height="Auto"></RowDefinition>
                            <RowDefinition Height="Auto"></RowDefinition>
                        </Grid.RowDefinitions>

                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="Auto"></ColumnDefinition>
                            <ColumnDefinition Width="10"></ColumnDefinition>
                            <ColumnDefinition Width="Auto"></ColumnDefinition>
                            <ColumnDefinition Width="Auto"></ColumnDefinition>
                            <ColumnDefinition Width="*"></ColumnDefinition>
                        </Grid.ColumnDefinitions>

                        <TextBlock Grid.Row="0" Grid.Column="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Text="Condition(s)" Style="{StaticResource DataInfoLabel}" ></TextBlock>
                        <TextBlock Grid.Row="1" Grid.Column="2" Text="'A'" HorizontalAlignment="Center" Style="{StaticResource DataInfoLabel}"></TextBlock>
                        <TextBlock Grid.Row="1" Grid.Column="3" Text="'B'" HorizontalAlignment="Center" Style="{StaticResource DataInfoLabel}"></TextBlock>

                        <syncfusion:ComboBoxAdv Grid.Row="2" Grid.Column="0"  x:Name="ConditionsList" 
                                              AllowMultiSelect="False" DefaultText="{Binding SelectedCondition.ConditionDisplay}" Margin="1,9,0,9"
                                             MinWidth="190" Style="{StaticResource Flat}" 
                                            ItemsSource="{Binding Conditions}" 
                                            DisplayMemberPath="ConditionDisplay"
                                            SelectedValue="{Binding ConditionName}"
                                            SelectedValuePath="ConditionName" Height="22" Width="Auto">
                        </syncfusion:ComboBoxAdv>

                        <syncfusion:DoubleTextBox Grid.Row="2" Grid.Column="2" 
                                                  Value="{Binding SelectedCondition.ConditionValueA}"
                                                  IsEnabled="{Binding SelectedCondition.EnabledA}"
                                                  ToolTip="{Binding SelectedCondition.ToolTip}"
                                                  Style="{StaticResource DoubleTextBoxDataNull}"></syncfusion:DoubleTextBox>
                        <syncfusion:DoubleTextBox Grid.Row="2" Grid.Column="3" 
                                                  Value="{Binding SelectedCondition.ConditionValueB}"
                                                  IsEnabled="{Binding SelectedCondition.EnabledB}"
                                                  ToolTip="{Binding SelectedCondition.ToolTip}"
                                                  Style="{StaticResource DoubleTextBoxDataNull}"></syncfusion:DoubleTextBox>

                        <TextBlock Grid.Row="2" Grid.Column="4" Text="{Binding SelectedCondition.Unit}" HorizontalAlignment="Left" Style="{StaticResource DataInfoLabel}"></TextBlock>
                        <TextBlock Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="4" Width="300" Text="Production Increase is calculated based upon only the condition selected/shown." Style="{StaticResource CurlyBracketTextBlock}"></TextBlock>
                    </Grid>

                </Grid>
            </syncfusion:GroupBoxAdv>
        </Grid>
    </Grid>
</UserControl>


Peter


Viewing all articles
Browse latest Browse all 18858

Trending Articles



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