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

                    Kamusi Yaliyomo Aina za kamusi | Muundo wa kamusi | Faida za kamusi | Dhima ya picha katika kamusi | Marejeo | Tazama pia | Viungo vya nje | UrambazajiKuhusu kamusiGo-SwahiliWiki-KamusiKamusi ya Kiswahili na Kiingerezakuihariri na kuongeza habari

                    Swift 4 - func physicsWorld not invoked on collision? The Next CEO of Stack OverflowHow to call Objective-C code from Swift#ifdef replacement in the Swift language@selector() in Swift?#pragma mark in Swift?Swift for loop: for index, element in array?dispatch_after - GCD in Swift?Swift Beta performance: sorting arraysSplit a String into an array in Swift?The use of Swift 3 @objc inference in Swift 4 mode is deprecated?How to optimize UITableViewCell, because my UITableView lags

                    Access current req object everywhere in Node.js ExpressWhy are global variables considered bad practice? (node.js)Using req & res across functionsHow do I get the path to the current script with Node.js?What is Node.js' Connect, Express and “middleware”?Node.js w/ express error handling in callbackHow to access the GET parameters after “?” in Express?Modify Node.js req object parametersAccess “app” variable inside of ExpressJS/ConnectJS middleware?Node.js Express app - request objectAngular Http Module considered middleware?Session variables in ExpressJSAdd properties to the req object in expressjs with Typescript