Is it possible to bind PolyLineSegment.Points through xaml in ControlTemplate?How do I use WPF bindings with RelativeSource?Can you bind to a dependency property of a custom behavior?Thumbs on line corner points do not relocate pointsBind Label in Style to Property in styled object's DataContextStoryboard not executing from ControlTemplate DataTriggerWPF Animation: can't bind From property to the ActualWidthDrawing a Line based on Height/Width in a ControlTemplateBinding polygon points in XAMLHow can I set a custom Controltemplate as the default for whole application?ControlTemplate LayoutTransform Binding System.Windows.Data Error 2 or 4

Is mathematics truth?

Heuristic argument for the Riemann Hypothesis

Divide Numbers by 0

How to disambiguate between various meditation practices?

Is torque as fundamental a concept as force?

What percentage of the mass/energy of the universe is in the form of electromagnetic waves?

How do we know if a dialogue sounds unnatural without asking for feedback?

What is the maximal acceptable delay between pilot's input and flight control surface actuation?

What is this red bug infesting some trees in southern Germany?

Initializing a std::array with a constant value

Why are Latin and Sanskrit called dead languages?

Are there any writings by blinded and/or exiled Byzantine emperors?

IEEE Registration Authority mac prefix

What is a "fat pointer" in Rust?

What is the converted mana cost of land cards?

How do you manage to study and have a balance in your life at the same time?

How to run a command 1 out of N times in Bash

properties that real numbers hold but complex numbers does not

Why is k-means used for non normally distributed data?

How did Gollum know Sauron was gathering the Haradrim to make war?

'Hard work never hurt anyone' Why not 'hurts'?

Does immunity to non magical damage negate sneak attack damage?

Sum of Infinite series with a Geometric series in multiply

Are there photos of the Apollo LM showing disturbed lunar soil resulting from descent engine exhaust?



Is it possible to bind PolyLineSegment.Points through xaml in ControlTemplate?


How do I use WPF bindings with RelativeSource?Can you bind to a dependency property of a custom behavior?Thumbs on line corner points do not relocate pointsBind Label in Style to Property in styled object's DataContextStoryboard not executing from ControlTemplate DataTriggerWPF Animation: can't bind From property to the ActualWidthDrawing a Line based on Height/Width in a ControlTemplateBinding polygon points in XAMLHow can I set a custom Controltemplate as the default for whole application?ControlTemplate LayoutTransform Binding System.Windows.Data Error 2 or 4






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








0















Recently, I needed to change the Thumb's Template. I want to change its shape to a Triangle like so. I used a Path as its ControlTemplate. Here's the code:



 <Thumb
Width="100"
Height="30"
HorizontalAlignment="Left"
VerticalAlignment="Top">
<Thumb.Template>
<ControlTemplate>
<Path Fill="Red">
<Path.Data>
<PathGeometry>
<PathFigure>
<PolyLineSegment>
<PolyLineSegment.Points>
<PointCollection>
<Point X="0" Y="0" />
<Point X="TemplateBinding Width" Y="TemplateBinding Height" />
<Point X="0" Y="TemplateBinding Height" />
</PointCollection>
</PolyLineSegment.Points>
</PolyLineSegment>
</PathFigure>
</PathGeometry>
</Path.Data>
</Path>
</ControlTemplate>
</Thumb.Template>
</Thumb>


You can see that I tried to bind PolyLineSegment.Points to Thumb's Width and Height.



But Visual Studio throws an error:




"Error Object of type 'System.Windows.TemplateBindingExpression'



cannot be converted to type 'System.Double'."




I don't know why it can't work. Can anyone give me a hint?



Update:



I found it's because Point.X or Point.Y is not Dependency Property. So that's why binding doesn't work.



I resolve this question by binding to LineSegment.This question is Closed.










share|improve this question
































    0















    Recently, I needed to change the Thumb's Template. I want to change its shape to a Triangle like so. I used a Path as its ControlTemplate. Here's the code:



     <Thumb
    Width="100"
    Height="30"
    HorizontalAlignment="Left"
    VerticalAlignment="Top">
    <Thumb.Template>
    <ControlTemplate>
    <Path Fill="Red">
    <Path.Data>
    <PathGeometry>
    <PathFigure>
    <PolyLineSegment>
    <PolyLineSegment.Points>
    <PointCollection>
    <Point X="0" Y="0" />
    <Point X="TemplateBinding Width" Y="TemplateBinding Height" />
    <Point X="0" Y="TemplateBinding Height" />
    </PointCollection>
    </PolyLineSegment.Points>
    </PolyLineSegment>
    </PathFigure>
    </PathGeometry>
    </Path.Data>
    </Path>
    </ControlTemplate>
    </Thumb.Template>
    </Thumb>


    You can see that I tried to bind PolyLineSegment.Points to Thumb's Width and Height.



    But Visual Studio throws an error:




    "Error Object of type 'System.Windows.TemplateBindingExpression'



    cannot be converted to type 'System.Double'."




    I don't know why it can't work. Can anyone give me a hint?



    Update:



    I found it's because Point.X or Point.Y is not Dependency Property. So that's why binding doesn't work.



    I resolve this question by binding to LineSegment.This question is Closed.










    share|improve this question




























      0












      0








      0








      Recently, I needed to change the Thumb's Template. I want to change its shape to a Triangle like so. I used a Path as its ControlTemplate. Here's the code:



       <Thumb
      Width="100"
      Height="30"
      HorizontalAlignment="Left"
      VerticalAlignment="Top">
      <Thumb.Template>
      <ControlTemplate>
      <Path Fill="Red">
      <Path.Data>
      <PathGeometry>
      <PathFigure>
      <PolyLineSegment>
      <PolyLineSegment.Points>
      <PointCollection>
      <Point X="0" Y="0" />
      <Point X="TemplateBinding Width" Y="TemplateBinding Height" />
      <Point X="0" Y="TemplateBinding Height" />
      </PointCollection>
      </PolyLineSegment.Points>
      </PolyLineSegment>
      </PathFigure>
      </PathGeometry>
      </Path.Data>
      </Path>
      </ControlTemplate>
      </Thumb.Template>
      </Thumb>


      You can see that I tried to bind PolyLineSegment.Points to Thumb's Width and Height.



      But Visual Studio throws an error:




      "Error Object of type 'System.Windows.TemplateBindingExpression'



      cannot be converted to type 'System.Double'."




      I don't know why it can't work. Can anyone give me a hint?



      Update:



      I found it's because Point.X or Point.Y is not Dependency Property. So that's why binding doesn't work.



      I resolve this question by binding to LineSegment.This question is Closed.










      share|improve this question
















      Recently, I needed to change the Thumb's Template. I want to change its shape to a Triangle like so. I used a Path as its ControlTemplate. Here's the code:



       <Thumb
      Width="100"
      Height="30"
      HorizontalAlignment="Left"
      VerticalAlignment="Top">
      <Thumb.Template>
      <ControlTemplate>
      <Path Fill="Red">
      <Path.Data>
      <PathGeometry>
      <PathFigure>
      <PolyLineSegment>
      <PolyLineSegment.Points>
      <PointCollection>
      <Point X="0" Y="0" />
      <Point X="TemplateBinding Width" Y="TemplateBinding Height" />
      <Point X="0" Y="TemplateBinding Height" />
      </PointCollection>
      </PolyLineSegment.Points>
      </PolyLineSegment>
      </PathFigure>
      </PathGeometry>
      </Path.Data>
      </Path>
      </ControlTemplate>
      </Thumb.Template>
      </Thumb>


      You can see that I tried to bind PolyLineSegment.Points to Thumb's Width and Height.



      But Visual Studio throws an error:




      "Error Object of type 'System.Windows.TemplateBindingExpression'



      cannot be converted to type 'System.Double'."




      I don't know why it can't work. Can anyone give me a hint?



      Update:



      I found it's because Point.X or Point.Y is not Dependency Property. So that's why binding doesn't work.



      I resolve this question by binding to LineSegment.This question is Closed.







      wpf xaml templates controls






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Mar 28 at 13:49









      old_timer

      50.9k7 gold badges65 silver badges128 bronze badges




      50.9k7 gold badges65 silver badges128 bronze badges










      asked Mar 28 at 2:03









      FranklinLeeFranklinLee

      1689 bronze badges




      1689 bronze badges

























          1 Answer
          1






          active

          oldest

          votes


















          0















          Finally, I found where the problem is(reason has been update in question),and find a new way to resolve this problem.



           <ControlTemplate>
          <Path Fill="TemplateBinding Background">
          <Path.Data>
          <PathGeometry>
          <PathFigure StartPoint="0 0">
          <LineSegment>
          <LineSegment.Point>
          <MultiBinding Converter="StaticResource thumb2PointConverter" ConverterParameter="rightBottom">
          <Binding Path="Width" RelativeSource="RelativeSource Mode=FindAncestor, AncestorType=Thumb" />
          <Binding Path="Height" RelativeSource="RelativeSource Mode=FindAncestor, AncestorType=Thumb" />
          </MultiBinding>
          </LineSegment.Point>
          </LineSegment>

          <LineSegment>
          <LineSegment.Point>
          <MultiBinding Converter="StaticResource thumb2PointConverter" ConverterParameter="leftBottom">
          <Binding Path="Width" RelativeSource="RelativeSource Mode=FindAncestor, AncestorType=Thumb" />
          <Binding Path="Height" RelativeSource="RelativeSource Mode=FindAncestor, AncestorType=Thumb" />
          </MultiBinding>
          </LineSegment.Point>
          </LineSegment>
          </PathFigure>
          </PathGeometry>
          </Path.Data>
          </Path>
          </ControlTemplate>





          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%2f55389118%2fis-it-possible-to-bind-polylinesegment-points-through-xaml-in-controltemplate%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0















            Finally, I found where the problem is(reason has been update in question),and find a new way to resolve this problem.



             <ControlTemplate>
            <Path Fill="TemplateBinding Background">
            <Path.Data>
            <PathGeometry>
            <PathFigure StartPoint="0 0">
            <LineSegment>
            <LineSegment.Point>
            <MultiBinding Converter="StaticResource thumb2PointConverter" ConverterParameter="rightBottom">
            <Binding Path="Width" RelativeSource="RelativeSource Mode=FindAncestor, AncestorType=Thumb" />
            <Binding Path="Height" RelativeSource="RelativeSource Mode=FindAncestor, AncestorType=Thumb" />
            </MultiBinding>
            </LineSegment.Point>
            </LineSegment>

            <LineSegment>
            <LineSegment.Point>
            <MultiBinding Converter="StaticResource thumb2PointConverter" ConverterParameter="leftBottom">
            <Binding Path="Width" RelativeSource="RelativeSource Mode=FindAncestor, AncestorType=Thumb" />
            <Binding Path="Height" RelativeSource="RelativeSource Mode=FindAncestor, AncestorType=Thumb" />
            </MultiBinding>
            </LineSegment.Point>
            </LineSegment>
            </PathFigure>
            </PathGeometry>
            </Path.Data>
            </Path>
            </ControlTemplate>





            share|improve this answer





























              0















              Finally, I found where the problem is(reason has been update in question),and find a new way to resolve this problem.



               <ControlTemplate>
              <Path Fill="TemplateBinding Background">
              <Path.Data>
              <PathGeometry>
              <PathFigure StartPoint="0 0">
              <LineSegment>
              <LineSegment.Point>
              <MultiBinding Converter="StaticResource thumb2PointConverter" ConverterParameter="rightBottom">
              <Binding Path="Width" RelativeSource="RelativeSource Mode=FindAncestor, AncestorType=Thumb" />
              <Binding Path="Height" RelativeSource="RelativeSource Mode=FindAncestor, AncestorType=Thumb" />
              </MultiBinding>
              </LineSegment.Point>
              </LineSegment>

              <LineSegment>
              <LineSegment.Point>
              <MultiBinding Converter="StaticResource thumb2PointConverter" ConverterParameter="leftBottom">
              <Binding Path="Width" RelativeSource="RelativeSource Mode=FindAncestor, AncestorType=Thumb" />
              <Binding Path="Height" RelativeSource="RelativeSource Mode=FindAncestor, AncestorType=Thumb" />
              </MultiBinding>
              </LineSegment.Point>
              </LineSegment>
              </PathFigure>
              </PathGeometry>
              </Path.Data>
              </Path>
              </ControlTemplate>





              share|improve this answer



























                0














                0










                0









                Finally, I found where the problem is(reason has been update in question),and find a new way to resolve this problem.



                 <ControlTemplate>
                <Path Fill="TemplateBinding Background">
                <Path.Data>
                <PathGeometry>
                <PathFigure StartPoint="0 0">
                <LineSegment>
                <LineSegment.Point>
                <MultiBinding Converter="StaticResource thumb2PointConverter" ConverterParameter="rightBottom">
                <Binding Path="Width" RelativeSource="RelativeSource Mode=FindAncestor, AncestorType=Thumb" />
                <Binding Path="Height" RelativeSource="RelativeSource Mode=FindAncestor, AncestorType=Thumb" />
                </MultiBinding>
                </LineSegment.Point>
                </LineSegment>

                <LineSegment>
                <LineSegment.Point>
                <MultiBinding Converter="StaticResource thumb2PointConverter" ConverterParameter="leftBottom">
                <Binding Path="Width" RelativeSource="RelativeSource Mode=FindAncestor, AncestorType=Thumb" />
                <Binding Path="Height" RelativeSource="RelativeSource Mode=FindAncestor, AncestorType=Thumb" />
                </MultiBinding>
                </LineSegment.Point>
                </LineSegment>
                </PathFigure>
                </PathGeometry>
                </Path.Data>
                </Path>
                </ControlTemplate>





                share|improve this answer













                Finally, I found where the problem is(reason has been update in question),and find a new way to resolve this problem.



                 <ControlTemplate>
                <Path Fill="TemplateBinding Background">
                <Path.Data>
                <PathGeometry>
                <PathFigure StartPoint="0 0">
                <LineSegment>
                <LineSegment.Point>
                <MultiBinding Converter="StaticResource thumb2PointConverter" ConverterParameter="rightBottom">
                <Binding Path="Width" RelativeSource="RelativeSource Mode=FindAncestor, AncestorType=Thumb" />
                <Binding Path="Height" RelativeSource="RelativeSource Mode=FindAncestor, AncestorType=Thumb" />
                </MultiBinding>
                </LineSegment.Point>
                </LineSegment>

                <LineSegment>
                <LineSegment.Point>
                <MultiBinding Converter="StaticResource thumb2PointConverter" ConverterParameter="leftBottom">
                <Binding Path="Width" RelativeSource="RelativeSource Mode=FindAncestor, AncestorType=Thumb" />
                <Binding Path="Height" RelativeSource="RelativeSource Mode=FindAncestor, AncestorType=Thumb" />
                </MultiBinding>
                </LineSegment.Point>
                </LineSegment>
                </PathFigure>
                </PathGeometry>
                </Path.Data>
                </Path>
                </ControlTemplate>






                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Mar 28 at 4:12









                FranklinLeeFranklinLee

                1689 bronze badges




                1689 bronze badges





















                    Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.







                    Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.



















                    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%2f55389118%2fis-it-possible-to-bind-polylinesegment-points-through-xaml-in-controltemplate%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

                    How to preserve electronics (computers, tablets and phones) for hundreds of years Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) The network's official Twitter account is up and running again. What content…How might modern humans leave a message for 50,000 years?How would an aquatic race develop computers?How do we make computers care for human life?Keeping supplies for 1000 yearsWhat will cell phones become in 100 years?What body armor protects against a laser?Could a society attain 1800s technology if limited to using copper and bronze?Electricity power (magic) and electronicsScavenging metal resources in post-apocalypse after 100 yearsWhy would precursors create devices that can survive and still work after hundreds of years?

                    155 수학 과학 기타 둘러보기 메뉴eh추가해eh문서를 완성해

                    Convert JSON to MapSimplest way to convert a string representing JSON array into Java array List of key value pairsHow to take String JSON values into HashMapConvert a JSON String to a HashMapCreating BSON object from JSON stringJSONObject - How to get a value ?Better Map ConstructorReading JSON from Url javaUpdate columns if input values are not null otherwise ignore and keep the existing values of column in databaseHow to store object represented as Json string into Couchbase Lite?Go JSON into MapHow do I efficiently iterate over each entry in a Java Map?Sort a Map<Key, Value> by valuesHow to round a number to n decimal places in JavaCan comments be used in JSON?How do I read / convert an InputStream into a String in Java?How can I pretty-print JSON in a shell script?What is the correct JSON content type?How can I deserialize JSON to a simple Dictionary<string,string> in ASP.NET?Why does Google prepend while(1); to their JSON responses?Parse JSON in JavaScript?