Can't use apostrophe in StringFormat of a XAML binding?












12















I'm trying use StringFormat to insert apostrophies (apostrophe's?) around a value that is bound to a TextBlock:



<TextBlock Text="{Binding MyValue, StringFormat='The value is &apos;{0}&apos;'}"/>


However, I get a compile error:




Names and Values in a MarkupExtension cannot contain quotes. The MarkupExtension arguments ' MyValue, StringFormat='The value is '{0}''}' are not valid.




I do notice that it does work for quotes though:



<TextBlock Text="{Binding MyValue, StringFormat='The value is &quot;{0}&quot;'}"/>


Is this a bug with StringFormat?










share|improve this question





























    12















    I'm trying use StringFormat to insert apostrophies (apostrophe's?) around a value that is bound to a TextBlock:



    <TextBlock Text="{Binding MyValue, StringFormat='The value is &apos;{0}&apos;'}"/>


    However, I get a compile error:




    Names and Values in a MarkupExtension cannot contain quotes. The MarkupExtension arguments ' MyValue, StringFormat='The value is '{0}''}' are not valid.




    I do notice that it does work for quotes though:



    <TextBlock Text="{Binding MyValue, StringFormat='The value is &quot;{0}&quot;'}"/>


    Is this a bug with StringFormat?










    share|improve this question



























      12












      12








      12


      1






      I'm trying use StringFormat to insert apostrophies (apostrophe's?) around a value that is bound to a TextBlock:



      <TextBlock Text="{Binding MyValue, StringFormat='The value is &apos;{0}&apos;'}"/>


      However, I get a compile error:




      Names and Values in a MarkupExtension cannot contain quotes. The MarkupExtension arguments ' MyValue, StringFormat='The value is '{0}''}' are not valid.




      I do notice that it does work for quotes though:



      <TextBlock Text="{Binding MyValue, StringFormat='The value is &quot;{0}&quot;'}"/>


      Is this a bug with StringFormat?










      share|improve this question
















      I'm trying use StringFormat to insert apostrophies (apostrophe's?) around a value that is bound to a TextBlock:



      <TextBlock Text="{Binding MyValue, StringFormat='The value is &apos;{0}&apos;'}"/>


      However, I get a compile error:




      Names and Values in a MarkupExtension cannot contain quotes. The MarkupExtension arguments ' MyValue, StringFormat='The value is '{0}''}' are not valid.




      I do notice that it does work for quotes though:



      <TextBlock Text="{Binding MyValue, StringFormat='The value is &quot;{0}&quot;'}"/>


      Is this a bug with StringFormat?







      c# wpf escaping apostrophe string-formatting






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 10 '11 at 9:37









      K Mehta

      7,77523566




      7,77523566










      asked Oct 31 '11 at 5:45









      ZodmanZodman

      1,10711327




      1,10711327
























          3 Answers
          3






          active

          oldest

          votes


















          16














          I'm not sure if it's a bug, but I tested this method, and it works:



          <TextBlock Text="{Binding MyValue, StringFormat='The value is '{0}''}" />


          Seems like single quotes within StringFormat have to be escaped using as opposed to the traditional XML style &apos;






          share|improve this answer
























          • Yep, that works for me too. whew!

            – Zodman
            Oct 31 '11 at 6:44






          • 3





            Unfortunately it doesn't work in Silverlight.

            – Rajiv
            Apr 11 '14 at 15:42











          • Didn't work for me in WPF

            – Elo
            Nov 23 '18 at 14:12



















          8














          Try to use before &apos:



          <TextBlock Text="{Binding MyValue, StringFormat='The value is &apos;{0}&apos;'}"/>





          share|improve this answer

































            0














            This only solution worked for me : remove FallbackValue quotes (!) and then escape the special character.



            <TextBlock Text="{Binding StateCaption, FallbackValue=It couldn't be more weird}" />


            Even the VS2017 XAML Intellisense is lost ! it displays "It" in blue, "couldn" in red, and "be more weird" in blue... but it works.



            I even tested this more complexe case, and attributes following a text with spaces and without quotes are correctly interpreted :



            <TextBlock Text="{Binding StateCaption, StringFormat=It couldn't be more weird,FallbackValue=test}" />


            (Tested on VS2017, Framework 4.0)






            share|improve this answer























              Your Answer






              StackExchange.ifUsing("editor", function () {
              StackExchange.using("externalEditor", function () {
              StackExchange.using("snippets", function () {
              StackExchange.snippets.init();
              });
              });
              }, "code-snippets");

              StackExchange.ready(function() {
              var channelOptions = {
              tags: "".split(" "),
              id: "1"
              };
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function() {
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled) {
              StackExchange.using("snippets", function() {
              createEditor();
              });
              }
              else {
              createEditor();
              }
              });

              function createEditor() {
              StackExchange.prepareEditor({
              heartbeatType: 'answer',
              autoActivateHeartbeat: false,
              convertImagesToLinks: true,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: 10,
              bindNavPrevention: true,
              postfix: "",
              imageUploader: {
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              },
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              });


              }
              });














              draft saved

              draft discarded


















              StackExchange.ready(
              function () {
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f7950338%2fcant-use-apostrophe-in-stringformat-of-a-xaml-binding%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              3 Answers
              3






              active

              oldest

              votes








              3 Answers
              3






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              16














              I'm not sure if it's a bug, but I tested this method, and it works:



              <TextBlock Text="{Binding MyValue, StringFormat='The value is '{0}''}" />


              Seems like single quotes within StringFormat have to be escaped using as opposed to the traditional XML style &apos;






              share|improve this answer
























              • Yep, that works for me too. whew!

                – Zodman
                Oct 31 '11 at 6:44






              • 3





                Unfortunately it doesn't work in Silverlight.

                – Rajiv
                Apr 11 '14 at 15:42











              • Didn't work for me in WPF

                – Elo
                Nov 23 '18 at 14:12
















              16














              I'm not sure if it's a bug, but I tested this method, and it works:



              <TextBlock Text="{Binding MyValue, StringFormat='The value is '{0}''}" />


              Seems like single quotes within StringFormat have to be escaped using as opposed to the traditional XML style &apos;






              share|improve this answer
























              • Yep, that works for me too. whew!

                – Zodman
                Oct 31 '11 at 6:44






              • 3





                Unfortunately it doesn't work in Silverlight.

                – Rajiv
                Apr 11 '14 at 15:42











              • Didn't work for me in WPF

                – Elo
                Nov 23 '18 at 14:12














              16












              16








              16







              I'm not sure if it's a bug, but I tested this method, and it works:



              <TextBlock Text="{Binding MyValue, StringFormat='The value is '{0}''}" />


              Seems like single quotes within StringFormat have to be escaped using as opposed to the traditional XML style &apos;






              share|improve this answer













              I'm not sure if it's a bug, but I tested this method, and it works:



              <TextBlock Text="{Binding MyValue, StringFormat='The value is '{0}''}" />


              Seems like single quotes within StringFormat have to be escaped using as opposed to the traditional XML style &apos;







              share|improve this answer












              share|improve this answer



              share|improve this answer










              answered Oct 31 '11 at 6:10









              K MehtaK Mehta

              7,77523566




              7,77523566













              • Yep, that works for me too. whew!

                – Zodman
                Oct 31 '11 at 6:44






              • 3





                Unfortunately it doesn't work in Silverlight.

                – Rajiv
                Apr 11 '14 at 15:42











              • Didn't work for me in WPF

                – Elo
                Nov 23 '18 at 14:12



















              • Yep, that works for me too. whew!

                – Zodman
                Oct 31 '11 at 6:44






              • 3





                Unfortunately it doesn't work in Silverlight.

                – Rajiv
                Apr 11 '14 at 15:42











              • Didn't work for me in WPF

                – Elo
                Nov 23 '18 at 14:12

















              Yep, that works for me too. whew!

              – Zodman
              Oct 31 '11 at 6:44





              Yep, that works for me too. whew!

              – Zodman
              Oct 31 '11 at 6:44




              3




              3





              Unfortunately it doesn't work in Silverlight.

              – Rajiv
              Apr 11 '14 at 15:42





              Unfortunately it doesn't work in Silverlight.

              – Rajiv
              Apr 11 '14 at 15:42













              Didn't work for me in WPF

              – Elo
              Nov 23 '18 at 14:12





              Didn't work for me in WPF

              – Elo
              Nov 23 '18 at 14:12













              8














              Try to use before &apos:



              <TextBlock Text="{Binding MyValue, StringFormat='The value is &apos;{0}&apos;'}"/>





              share|improve this answer






























                8














                Try to use before &apos:



                <TextBlock Text="{Binding MyValue, StringFormat='The value is &apos;{0}&apos;'}"/>





                share|improve this answer




























                  8












                  8








                  8







                  Try to use before &apos:



                  <TextBlock Text="{Binding MyValue, StringFormat='The value is &apos;{0}&apos;'}"/>





                  share|improve this answer















                  Try to use before &apos:



                  <TextBlock Text="{Binding MyValue, StringFormat='The value is &apos;{0}&apos;'}"/>






                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited Oct 19 '15 at 0:12









                  slugster

                  42.2k1281126




                  42.2k1281126










                  answered Dec 17 '12 at 10:53









                  AlexAlex

                  352421




                  352421























                      0














                      This only solution worked for me : remove FallbackValue quotes (!) and then escape the special character.



                      <TextBlock Text="{Binding StateCaption, FallbackValue=It couldn't be more weird}" />


                      Even the VS2017 XAML Intellisense is lost ! it displays "It" in blue, "couldn" in red, and "be more weird" in blue... but it works.



                      I even tested this more complexe case, and attributes following a text with spaces and without quotes are correctly interpreted :



                      <TextBlock Text="{Binding StateCaption, StringFormat=It couldn't be more weird,FallbackValue=test}" />


                      (Tested on VS2017, Framework 4.0)






                      share|improve this answer




























                        0














                        This only solution worked for me : remove FallbackValue quotes (!) and then escape the special character.



                        <TextBlock Text="{Binding StateCaption, FallbackValue=It couldn't be more weird}" />


                        Even the VS2017 XAML Intellisense is lost ! it displays "It" in blue, "couldn" in red, and "be more weird" in blue... but it works.



                        I even tested this more complexe case, and attributes following a text with spaces and without quotes are correctly interpreted :



                        <TextBlock Text="{Binding StateCaption, StringFormat=It couldn't be more weird,FallbackValue=test}" />


                        (Tested on VS2017, Framework 4.0)






                        share|improve this answer


























                          0












                          0








                          0







                          This only solution worked for me : remove FallbackValue quotes (!) and then escape the special character.



                          <TextBlock Text="{Binding StateCaption, FallbackValue=It couldn't be more weird}" />


                          Even the VS2017 XAML Intellisense is lost ! it displays "It" in blue, "couldn" in red, and "be more weird" in blue... but it works.



                          I even tested this more complexe case, and attributes following a text with spaces and without quotes are correctly interpreted :



                          <TextBlock Text="{Binding StateCaption, StringFormat=It couldn't be more weird,FallbackValue=test}" />


                          (Tested on VS2017, Framework 4.0)






                          share|improve this answer













                          This only solution worked for me : remove FallbackValue quotes (!) and then escape the special character.



                          <TextBlock Text="{Binding StateCaption, FallbackValue=It couldn't be more weird}" />


                          Even the VS2017 XAML Intellisense is lost ! it displays "It" in blue, "couldn" in red, and "be more weird" in blue... but it works.



                          I even tested this more complexe case, and attributes following a text with spaces and without quotes are correctly interpreted :



                          <TextBlock Text="{Binding StateCaption, StringFormat=It couldn't be more weird,FallbackValue=test}" />


                          (Tested on VS2017, Framework 4.0)







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered Nov 23 '18 at 14:25









                          EloElo

                          1,0471117




                          1,0471117






























                              draft saved

                              draft discarded




















































                              Thanks for contributing an answer to Stack Overflow!


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid



                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.


                              To learn more, see our tips on writing great answers.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function () {
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f7950338%2fcant-use-apostrophe-in-stringformat-of-a-xaml-binding%23new-answer', 'question_page');
                              }
                              );

                              Post as a guest















                              Required, but never shown





















































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown

































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown







                              Popular posts from this blog

                              Ottavio Pratesi

                              Tricia Helfer

                              15 giugno