|
The WPF Toolkit[^] on CodePlex has a DataGrid which is compatible with .Net 3.5. If you don't like that option, the WPF ListView can be used with the View property set to Grid, and with some styling can be a very good alternative to a 'proper' DataGrid. Personally, I would use one of those options as opposed to the WinForms DataGridView.
Live for today. Plan for tomorrow. Party tonight!
|
|
|
|
|
Thanks a lot, Wayne.
Unfortunately I can't use any additional install packages for deployment. I'm just targeted on .NET 3.5 I will check the way to use ListView!
If someone has further ideas please welcome!
modified on Monday, August 29, 2011 10:10 AM
|
|
|
|
|
Unfortunately I couldn't find the way how to bind ListView to DataSet using the current selection of TreeView. Could you please provide simple example?
|
|
|
|
|
I don't really use datasets in my applications. I tend to prefer dealing with collections of CLR objects. Say I wanted to display a list of Customers in a ListView, and to have the details of the customer that is selected shown in other controls on the form for editing, I would bind my ListView to an ObservableCollection<Customer> property, and then bind the SelectedItem of the ListView to a SelectedCustomer Property in my ViewModel.
Live for today. Plan for tomorrow. Party tonight!
|
|
|
|
|
Hi,
I am a beginner in developing C# applications
I want to develop a simple application to display Google Maps through a WPF/WCF application in VS 2010.
Can anyone provide a simple tutorial on this or is it already out there?
For. example: maybe a video or written instructions?
Also, is it more easier to display Bing map in a WPF app than Google maps?
Thanks!
|
|
|
|
|
|
Image of the troubling border
Hi
I'm trying for over 2 days now to create toggle button that in pressed state looks like the above image, but that upper border is giving me a headache. Does anyone have any idea how to create that round corner that slightly goes down? The background is a linear gradient top to bottom: #b8c7d6 - #a8b3c4
Any help at all would be greatly appreciated!!
I have something like this but it is far from the design:
<Style x:Key="ToggleButtonStyle" TargetType="{x:Type ToggleButton}">
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="Padding" Value="1"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ToggleButton}">
<Grid>
<Border Background="Black" BorderThickness="1" BorderBrush="#FF4E4F50" CornerRadius="3"/>
<Border Background="Black" Margin="1" CornerRadius="3"/>
<Border Margin="2" CornerRadius="3">
<Border.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#0099B9D1" Offset="0"/>
<GradientStop Color="#FF99B9D1" Offset="1"/>
<GradientStop Color="#B299B9D1" Offset="0.054"/>
</LinearGradientBrush>
</Border.Background>
</Border>
<Border Margin="2" CornerRadius="3" Opacity="0.3">
<Border.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<LinearGradientBrush.RelativeTransform>
<TransformGroup>
<ScaleTransform CenterY="0.5" CenterX="0.5"/>
<SkewTransform CenterY="0.5" CenterX="0.5"/>
<RotateTransform Angle="90" CenterY="0.5" CenterX="0.5"/>
<TranslateTransform/>
</TransformGroup>
</LinearGradientBrush.RelativeTransform>
<GradientStop Color="Black" Offset="0"/>
<GradientStop Color="Black" Offset="1"/>
<GradientStop Color="#00090909" Offset="0.022"/>
<GradientStop Color="#00000000" Offset="0.99"/>
<GradientStop Color="#45060606" Offset="0.001"/>
</LinearGradientBrush>
</Border.Background></Border>
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsKeyboardFocused" Value="true">
</Trigger>
<Trigger Property="IsChecked" Value="true">
</Trigger>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Foreground" Value="#ADADAD"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
|
|
|
|
|
Hello. After a long time i again pick WPF. Since this is nearly a hobby, i didn't learn much or forgot about it.
<Menu DockPanel.Dock="Top">
<ComboBox IsEditable="False" Width="{Binding Path=ActualWidth, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Menu}}"></ComboBox>
</Menu>
I tried that. I Wanted ComboBox to use a size to take all spaced that shows menu. But in my case. It is a little to big. I do not wan't to explictly define the width of ComboBox. Can someone help me?
Thank you in advance.
Edit:
I used SizeChanged on a menu and used the folowing.
comboBoxProcessList.Width = (Double)((Menu)sender).ActualWidth - 15;
I do not like the current solution. It would be best if it was possible to do in xaml or if i could get the size of a ContentPresenter of the parrent element. In my case it is Menu
modified on Saturday, August 27, 2011 3:04 PM
|
|
|
|
|
Try using a margin or padding with the Combobox code above.
Too much of heaven can bring you underground
Heaven can always turn around
Too much of heaven, our life is all hell bound
Heaven, the kill that makes no sound
|
|
|
|
|
I did try Padding and Margin and it didn't work. I know the auto size is based on a child. But in my case i want it to be based on a parrent.
|
|
|
|
|
I've a struct called accounts (string account, int value), and a class called person with an arraylist of accounts (in C#).
I need the user to hit a button on the main window and have it bring up a listbox with SOME of the person.accounts (based on some criteria, it will vary, don't want to bury my question in code when all I need is an example), have the listbox show both the account and the value (so the whole struct, not just the account number, like "10456786 $75.50"), have the user double click on one of the accounts in the listbox and have logic execute to change the value of person.account.value for that specific account (increment up or down, I have that logic, I just don't know how to connect them).
I've been wrestling with this for a week now, digging through all the books I've managed to scavenge up (new to WPF, teaching myself), and just can't make this work. I have the pieces, but not how to connect them.
It doesn't have to be Listbox, at this point I'm open to suggestions, I'm just at my wit's end on figuring out how to do this.
Thank you in advance for your patience and consideration.
|
|
|
|
|
|
Ancient programmer, self-teaching C# and WPF, going through books but a bit lost on this one thing:
I need buttons on my main window (doing the app in WPF as much as possible) to be present/absent based upon the values of the variables in a class.
For example, I have a class person, and it has a string called branch (so person.branch). If person.branch = "" (they've not chose a branch yet), then I need the Branch button to be available. Once they select a branch (person.branch != ""), I need the button to go away (greyed out is OK, gone is better).
Just need a small code snippet, and example to point me in the right direction and I'll research the rest.
Appreciate the help in advance, sorry to bother you.
|
|
|
|
|
Hope this code will help you!!
<Button Content="Button" Height="23" HorizontalAlignment="Left" Margin="209,53,0,0" Name="button1" VerticalAlignment="Top" Width="75" />
if (branchChosen)
this.button1.Visibility = System.Windows.Visibility.Collapsed;
else
this.button1.Visibility = System.Windows.Visibility.Visible;
Best,
Vallarasu S.
|
|
|
|
|
If you are using INotifyPropertyChanged and the view / viewmodel concept, you can bind a property of the view model to the visibility.
For e.g.
Now its just setting this MyBranchProperty to the appropriate value in the view model.
Too much of heaven can bring you underground
Heaven can always turn around
Too much of heaven, our life is all hell bound
Heaven, the kill that makes no sound
|
|
|
|
|
Just a little advice from an old school programmer to another. I've learned that Binding is the only way to go with WPF. You will cause yourself more bugs, errors and headache trying to do it old school. Just step up and take the time to learn how to bind elements and such. Like I said just a friendly bit of advice.
WPF offers so much in the way of customization I sincerely hope Microsoft doesn't scrap it.
|
|
|
|
|
|
Having an issue that is causing me to bang my head. my namespace is not being seen by the designer but still compiles and runs fine. the problem is that I can't view the forms at design time this happened shortly after I moved my files into folders to organize my program better. Yes I did make namespace modifications all throughout my app otherwise it wouldn't run. here is the main window xaml that is causing the error to occur.
<ribbon:RibbonWindow
x:Name="window"
x:Class="MHManager.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:MHManager"
xmlns:classes="clr-namespace:MHManager.Classes"
xmlns:controls="clr-namespace:MHManager.Controls"
xmlns:shared="http://schemas.actiprosoftware.com/winfx/xaml/shared"
xmlns:ribbon="http://schemas.actiprosoftware.com/winfx/xaml/ribbon"
xmlns:themes="http://schemas.actiprosoftware.com/winfx/xaml/themes"
xmlns:editors="http://schemas.actiprosoftware.com/winfx/xaml/editors"
xmlns:ribboneditors="http://schemas.actiprosoftware.com/winfx/xaml/ribboneditors"
xmlns:s="http://www.stemasoft.com/xaml"
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:ComponentModel="clr-namespace:System.ComponentModel;assembly=WindowsBase"
xmlns:System="clr-namespace:System;assembly=mscorlib"
ResizeMode="CanResizeWithGrip"
ApplicationName="Manufactured Housing Manager"
Icon="Icons/MHManagericon.ico"
Background="{Binding Background, ElementName=navigationPane}"
Height="632"
Width="930"
Loaded="window_Loaded" Closed="applicationExitCommand_Execute">
these three give the error
xmlns:local="clr-namespace:MHManager"
xmlns:classes="clr-namespace:MHManager.Classes"
xmlns:controls="clr-namespace:MHManager.Controls"
Maybe this will help to figure this out. It only happens when I copy all the files and transfer them to my laptop to work on the project there. So on my desktop everything is fine, but after I open the project on my laptop the Designer displays this message:
An Unhandled Exception has occurred
System.Reflection.TargetInvocationException
Exception has been thrown by the target of an invocation.
at System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
at System.RuntimeMethodHandle.InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
at System.Delegate.DynamicInvokeImpl(Object[] args)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
System.InvalidOperationException
'[Unknown]' property does not point to a DependencyObject in path '(0).(1)[0].(2)'.
at System.Windows.Media.Animation.Storyboard.VerifyPathIsAnimatable(PropertyPath path)
at System.Windows.Media.Animation.Storyboard.ClockTreeWalkRecursive(Clock currentClock, DependencyObject containingObject, INameScope nameScope, DependencyObject parentObject, String parentObjectName, PropertyPath parentPropertyPath, HandoffBehavior handoffBehavior, HybridDictionary clockMappings, Int64 layer)
at System.Windows.Media.Animation.Storyboard.ClockTreeWalkRecursive(Clock currentClock, DependencyObject containingObject, INameScope nameScope, DependencyObject parentObject, String parentObjectName, PropertyPath parentPropertyPath, HandoffBehavior handoffBehavior, HybridDictionary clockMappings, Int64 layer)
at System.Windows.Media.Animation.Storyboard.BeginCommon(DependencyObject containingObject, INameScope nameScope, HandoffBehavior handoffBehavior, Boolean isControllable, Int64 layer)
at System.Windows.VisualStateGroup.StartNewThenStopOld(FrameworkElement element, Storyboard[] newStoryboards)
at System.Windows.VisualStateManager.GoToStateInternal(FrameworkElement control, FrameworkElement stateGroupsRoot, VisualStateGroup group, VisualState state, Boolean useTransitions)
at System.Windows.VisualStateManager.GoToStateCommon(FrameworkElement control, FrameworkElement stateGroupsRoot, String stateName, Boolean useTransitions)
at System.Windows.VisualStateManager.GoToState(FrameworkElement control, String stateName, Boolean useTransitions)
at System.Windows.Controls.Primitives.Thumb.ChangeVisualState(Boolean useTransitions)
at System.Windows.Controls.Control.UpdateVisualState(Boolean useTransitions)
at System.Windows.Controls.Control.OnPostApplyTemplate()
at System.Windows.FrameworkElement.ApplyTemplate()
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.DockPanel.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Control.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.DockPanel.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV)
at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV)
at System.Windows.Controls.Grid.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV)
at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV)
at System.Windows.Controls.Grid.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Border.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.DockPanel.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)
at System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Grid.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Border.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Control.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Documents.AdornerDecorator.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV)
at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV)
at System.Windows.Controls.Grid.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Border.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Border.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.DockPanel.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Border.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Grid.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Control.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Border.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at MS.Internal.Designer.ZoomableViewPresenter.DesignerBackground.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at Microsoft.Windows.Design.Interaction.DesignerView.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at MS.Internal.Designer.Viewport.MeasureOverride(Size availableSize)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)
at System.Windows.Controls.ScrollContentPresenter.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV)
at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV)
at System.Windows.Controls.Grid.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.ScrollViewer.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Grid.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)
at System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Control.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Interop.HwndSource.SetLayoutSize()
at System.Windows.Interop.HwndSource.set_RootVisualInternal(Visual value)
at MS.Internal.DeferredHwndSource.ProcessQueue(Object sender, EventArgs e)
modified on Saturday, August 27, 2011 8:28 AM
|
|
|
|
|
Try using command Rebuild Soulution from Build menu. It will clean cache and build it again. Then try restarting visual studio. If those namespaces are in a diffrent project, then check references.
Edit: You also coud try to delete .suo file that lies in the same folder that has a solution file. That file resets Certan IDE elements, but does not break project/solution. This file has hidden attribute. You need special settings to see it.
modified on Saturday, August 27, 2011 4:57 PM
|
|
|
|
|
Thanks I've tried cleaning and rebuilding the project/solution but I havn't tried deleting the .suo file.
|
|
|
|
|
Ok tried that and a few other things still get the same error and can't display design time window. Also it won't let me compile a release version like this although a debug version is fine.
|
|
|
|
|
|
ok now I can get it to build debug or retail on my desktop but my laptop gives me the error. Mind you it always been the laptop giving the error. Brand new Laptop 4gig ram, has the new AMD APU in it. What throws me is that it will compile and run in debug but not retail and the designer can't display my main form.
Yet, on my desktop it is fine. This is driving me nuts. As for the Library Controls links I reviewed them, I do have some custom controls in my project but have not been giving me any trouble as they are basically overridden controls. Extended RTF editor, Masked Text Box, etc.
|
|
|
|
|
I've tracked down the issue, trying to resolve it now. My issue stems from creating a custom style in Blend for parts of a third party control. I am using NavigationPane from Codeplex and had created styles for the splitterbars and buttons this seemed to work fine on my desktop but when moving it to my laptop it wouldn't display the design-time preview of the form. removing the Style="" comment made it viewable again. I've decided to modify the source code of NavigationPane and added my own style to it's list of Styles. So far this has solved the issue.
This has been resolved Thank you for all the help.
modified 21-Sep-11 18:25pm.
|
|
|
|
|
I'm building a pie chart (from the WPF Toolkit). Here's the code:
public Chart ChartObject;
protected void MakePie(List<RepItem> data, string seriesTitle, string yProperty)
{
DisplayCategories categories = new DisplayCategories();
foreach (RepItem item in data)
{
categories.Add(item.Category);
}
System.Collections.ObjectModel.Collection<ResourceDictionary> palette = MakePalette(categories);
this.ChartObj.Palette = palette;
PieSeries series = new PieSeries()
{
ItemsSource = data,
Title = seriesTitle,
DependentValueBinding = new System.Windows.Data.Binding(yProperty),
IndependentValueBinding = new System.Windows.Data.Binding("Category"),
TransitionDuration = new TimeSpan(0),
};
this.ChartObj.Series.Add(series);
}
I have to build the palette manually because the number of values represented in the pie isn't necessarily the same, and they values are sorted from lowest to highest before creating the series. The end result is that the pie slice color must always be the correct color for the associated category regardless of that category's position in the pie.
In any case, that part works great. However, I decided I wanted custom tooltips, so I created a custom ControlTemplate in the app resources:
<ControlTemplate x:Key="PieDataTemplate" TargetType="wtkchart:PieDataPoint">
<Grid>
<Path x:Name="Slice"
Data="{TemplateBinding Geometry}"
Fill="{TemplateBinding Background}"
Stroke="{TemplateBinding BorderBrush}">
<ToolTipService.ToolTip>
<StackPanel>
<ContentControl Content="{Binding Path=Category}" FontSize="12" />
<ContentControl Content="{TemplateBinding FormattedDependentValue,
Converter={StaticResource TooltipValueFormatter}}"
FontWeight="Bold" FontSize="14" />
<ContentControl Content="{TemplateBinding FormattedRatio}"/>
</StackPanel>
</ToolTipService.ToolTip>
</Path>
</Grid>
</ControlTemplate>
If I uncomment out the code in the c# code, I get the tooltip I want, but all of the pie slices turn orange. If I re-comment the code, the tooltip isn't right, but the colors are. I THINK I want to change the binding on the Fill property in the control template, but I don't know exactly how to bind that with the parent chart's Palette property.
Any help?
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass." - Dale Earnhardt, 1997
|
|
|
|
|