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;
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
add a comment |
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
add a comment |
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
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
wpf xaml templates controls
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
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
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>
add a comment |
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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>
add a comment |
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>
add a comment |
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>
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>
answered Mar 28 at 4:12
FranklinLeeFranklinLee
1689 bronze badges
1689 bronze badges
add a comment |
add a comment |
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.
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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