Click here to Skip to main content
15,847,427 members
Home / Discussions / WPF
   

WPF

 
GeneralRe: Conditional DataBinding to UI Elements Pin
Mycroft Holmes5-Feb-12 16:15
professionalMycroft Holmes5-Feb-12 16:15 
AnswerRe: Conditional DataBinding to UI Elements Pin
Mycroft Holmes5-Feb-12 16:16
professionalMycroft Holmes5-Feb-12 16:16 
GeneralRe: Conditional DataBinding to UI Elements Pin
Andy_L_J5-Feb-12 16:43
Andy_L_J5-Feb-12 16:43 
QuestionOwn TreeViewItem with image and text Pin
Mc_Topaz2-Feb-12 23:20
Mc_Topaz2-Feb-12 23:20 
AnswerRe: Own TreeViewItem with image and text Pin
Mc_Topaz3-Feb-12 1:52
Mc_Topaz3-Feb-12 1:52 
GeneralGridSplitter Conundrum Pin
Gil Yoder1-Feb-12 16:31
Gil Yoder1-Feb-12 16:31 
QuestionRe: GridSplitter Conundrum Pin
Gil Yoder2-Feb-12 10:44
Gil Yoder2-Feb-12 10:44 
AnswerRe: GridSplitter Conundrum Pin
SledgeHammer012-Feb-12 12:40
SledgeHammer012-Feb-12 12:40 
Well, I'm not going to read "5 pages" of XAML in your previous post, so its good that you cut it down. Haha Smile | :) . You discovered a bug that I reported to Microsoft a year or two ago. I reported it in .NET 4.0. GridSplitter ignores the MinWidth on the last column in certain situations.

I invented a work-around at the time. Here you go. Just use local:GridSplitterEx (or whatever) instead of GridSplitter and you'll be off to the races:

C#
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;

namespace Shared
{
    public class GridSplitterEx : GridSplitter
    {
        #region Constructors

        public GridSplitterEx()
        {
        }

        #endregion

        #region Overrides

        protected override void OnMouseMove(MouseEventArgs e)
        {
            // fix for GridSplitter bug, it doesn't respect the last columns' minimum width property

            if (IsMouseCaptureWithin)
            {
                Grid grid = Parent as Grid;

                if (grid != null)
                {
                    ColumnDefinition cd = grid.ColumnDefinitions[grid.ColumnDefinitions.Count - 1];

                    if (cd.MinWidth > 0)
                    {
                        double dWidth = grid.ActualWidth;

                        if (dWidth > 0)
                        {
                            Point ptGrid = e.GetPosition(grid);

                            if (dWidth - ptGrid.X < cd.MinWidth + 12)
                                return;
                        }
                    }
                }
            }

            base.OnMouseMove(e);
        }

        #endregion
    }
}


As a side note, I don't quite remember whats with the + 12 magic number, but there was a reason Smile | :) .
GeneralRe: GridSplitter Conundrum Pin
Gil Yoder2-Feb-12 15:09
Gil Yoder2-Feb-12 15:09 
GeneralRe: GridSplitter Conundrum Pin
SledgeHammer012-Feb-12 15:37
SledgeHammer012-Feb-12 15:37 
GeneralRe: GridSplitter Conundrum Pin
Gil Yoder2-Feb-12 16:43
Gil Yoder2-Feb-12 16:43 
SuggestionRe: GridSplitter Conundrum Pin
Gil Yoder2-Feb-12 19:59
Gil Yoder2-Feb-12 19:59 
GeneralRe: GridSplitter Conundrum Pin
SledgeHammer013-Feb-12 8:17
SledgeHammer013-Feb-12 8:17 
Questionadding/removing ListView columns at runtime (revisited) Pin
Vincent Beek1-Feb-12 1:20
Vincent Beek1-Feb-12 1:20 
AnswerRe: adding/removing ListView columns at runtime (revisited) Pin
Abhinav S1-Feb-12 1:36
Abhinav S1-Feb-12 1:36 
GeneralRe: adding/removing ListView columns at runtime (revisited) Pin
Mycroft Holmes1-Feb-12 12:53
professionalMycroft Holmes1-Feb-12 12:53 
QuestionBinding list of items to IntemsControl in WPF Pin
rams231-Jan-12 0:14
rams231-Jan-12 0:14 
AnswerRe: Binding list of items to IntemsControl in WPF Pin
Wayne Gaylard31-Jan-12 1:10
professionalWayne Gaylard31-Jan-12 1:10 
GeneralRe: Binding list of items to IntemsControl in WPF Pin
rams231-Jan-12 1:36
rams231-Jan-12 1:36 
GeneralRe: Binding list of items to IntemsControl in WPF Pin
Wayne Gaylard31-Jan-12 1:39
professionalWayne Gaylard31-Jan-12 1:39 
GeneralRe: Binding list of items to IntemsControl in WPF Pin
Abhinav S1-Feb-12 17:26
Abhinav S1-Feb-12 17:26 
GeneralRe: Binding list of items to IntemsControl in WPF Pin
Wayne Gaylard1-Feb-12 20:06
professionalWayne Gaylard1-Feb-12 20:06 
QuestionFocusing on elements in MVVM Pin
mi_n30-Jan-12 23:42
mi_n30-Jan-12 23:42 
AnswerRe: Focusing on elements in MVVM PinPopular
Pete O'Hanlon31-Jan-12 0:03
subeditorPete O'Hanlon31-Jan-12 0:03 
GeneralRe: Focusing on elements in MVVM Pin
Pete O'Hanlon31-Jan-12 4:34
subeditorPete O'Hanlon31-Jan-12 4:34 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.