דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
T

tkt

@tkt
אודות
פוסטים
18
נושאים
4
קבוצות
0
עוקבים
0
עוקב אחרי
0

פוסטים

פוסטים אחרונים הגבוה ביותר שנוי במחלוקת

  • WPF קומבו מיוחד בתוך dataGrid לא מקבל event
    T tkt

    כן, באמת מעניין אבל העיקר שעובד.
    תודה על ההשקעה במציאת הפתרון

    פורסם במקור בפורום CODE613 ב15/07/2013 11:20 (+03:00)


  • WPF קומבו מיוחד בתוך dataGrid לא מקבל event
    T tkt

    מצאתי את הפתרון! זה לא שהקומבו בגריד לא עבד אלא פשוט לא הכנסתי אותו נכון לתוך ה-dataGrid.
    אני הגדרתי אותו בתוך DataGridTemplateColumn.CellTemplate במקום להגדיר אותו בתוך DataGridTemplateColumn.CellEditingTemplate ולכן הוא איפשר לפתוח את הקומבו אבל לא לבחור בו ערכים. ששיניתי את זה למיקום החדש (והוספתי ב-DataGridTemplateColumn.CellTemplate טקסט עבור ה-selectedItem של הקומבו.)

    פורסם במקור בפורום CODE613 ב14/07/2013 22:14 (+03:00)


  • WPF קומבו מיוחד בתוך dataGrid לא מקבל event
    T tkt

    שכחתי להוסיף גם שהיוזר קונטרול מבצע את הevent של הוסף חדש - קוד זהה לכל ה-combobox. זו סיבה נוספת לכך שזה נכתב בתוך יוזר קונטרול.

    פורסם במקור בפורום CODE613 ב11/07/2013 21:44 (+03:00)


  • WPF קומבו מיוחד בתוך dataGrid לא מקבל event
    T tkt

    אם אני שמה את ה-user control במקום אחר - ולא בתוך הגריד אז הכל עובד בסדר. רק הבעיה אם הוא מוכנס לתוך הגריד.
    יש לי יוזר קונטרול MyCombobox שהוא אחראי על הבינדינג - ב-laod הוא מאתחל את הרשימה לפי הפרמטרים שנשלחים אליו ב-dependencyProperty והוא בעצם מאתחל את ה-local:EnhancedComboBox (שהוא יורש מ-combobox רגיל ומוסיף לו כפתור של הוסף חדש).
    ה- local:EnhancedComboBox הוא קוד שהורדתי מהאיטנרנט:

    מכיל מחלקה ו-style הוא לא יוזר קונטרול לכן יצרתי יוזר קונטרול שבעצם מכיל כזה קומבו.
    לא ברור לי למה ההתנהגות שונה אם הוא מונח בתוך הגריד.

    פורסם במקור בפורום CODE613 ב11/07/2013 20:28 (+03:00)


  • WPF קומבו מיוחד בתוך dataGrid לא מקבל event
    T tkt

    יש לי קומבו שיורש מקומבו רגיל ומוסיף לעצמו כפתור של "הוסף חדש". את הקומבו הזה שמתי בתוך userControl שהוא אחראי למלא את האיברים בקומבו בהתאם לפרמטרים שנשלחים אליו.
    הקומבו עובד טוב רק הבעיה מתחילה כשאני שמה אותו בתוך datagrid בצורה הבאה:

    <DataGridTemplateColumn Header="תאור" Width="Auto" >
        <DataGridTemplateColumn.CellTemplate>
            <DataTemplate>
                <controls:MyComboBox x:Name="DescriptionCombo" Height="20" SelectedVal="{Binding Description,Mode=TwoWay}"
                                     ParentControl="ContactsCommunications" Sub="Description"/>
            </DataTemplate>
        </DataGridTemplateColumn.CellTemplate>
    </DataGridTemplateColumn>
    

    (ParentControl ו-Sub הם dependencyProperties לצורך מילוי הקומבו)

    בתוך ה-usercontrol שנקרא MyComboBox יש את הקומבו המיוחד שנקרא :EnhancedComboBox הקוד נראה כך:

    <local:EnhancedComboBox x:Name="comboBox"
                               MinWidth="20" Margin="5,0,0,0"
                               EnableNewItemAddition="True"  
                               AddNewItemText="הוסף חדש"    
                               AddNewItemButtonClicked="EnhancedComboBox_AddNewItemButtonClicked"  
                               SelectedValue="{Binding SelectedVal,ElementName=MyComboUserControl}"
                               SelectedValuePath="ID"
                               DisplayMemberPath="Value" SelectionChanged="combo_SelectionChanged">
    </local:EnhancedComboBox>
    

    הוקמבו מופיע, יש לו ערכים כשפותחים אותו אבל אי אפשר לבחור איבר או להחליף את הבחירה שהיתה בו. זה נראה שהוא פשוט לא מקבל בכלל את ה-event. הוספתי לו event של combo_SelectionChanged ובאמת אם הוא בתוך הגריד הוא לא מגיע אליו.
    ראיתי בחיפוש באינטרנט שיש מצב שה-datagrid לא מעביר לקומבו את האירועים. הבעיה היא שאני לא מבינה מה עושים בכזה מקרה, איך משחררים את האירוע?

    פורסם במקור בפורום CODE613 ב11/07/2013 00:17 (+03:00)


  • WPF הוספת tooltip ל-Header בתוך style
    T tkt

    זה עובד מעולה!
    תודה רבה

    פורסם במקור בפורום CODE613 ב11/07/2013 20:36 (+03:00)


  • WPF הוספת tooltip ל-Header בתוך style
    T tkt

    זה לא מזיז לו! נשאר לי ה-header (גם ב-designer וכמובן בהרצה)
    נראה שהוא בכלל לא משתמש ב-headerTamplate

    פורסם במקור בפורום CODE613 ב10/07/2013 23:26 (+03:00)


  • WPF הוספת tooltip ל-Header בתוך style
    T tkt

    כן גם בזמן design אני לא רואה את ה-icon.

    פורסם במקור בפורום CODE613 ב10/07/2013 21:02 (+03:00)


  • WPF הוספת tooltip ל-Header בתוך style
    T tkt

    לא כל כך הבנתי איפה לשים את ה-HeaderTemplate. ניסיתי לשים אותו בהגדרות של ה-tabitem כך:

    <tabs:ChromeTabItem Header="שאלון " >
        <tabs:ChromeTabItem.HeaderTemplate>
            <DataTemplate>
                <StackPanel Orientation="Horizontal">
                    <Image Source="..\Images\questionnare.ico"/>
                    <TextBlock Text="{TemplateBinding Content}" />
                 </StackPanel>
             </DataTemplate>
    </tabs:ChromeTabItem.HeaderTemplate>
    

    ובהרצה אני רואה רק טאב שיש לו header שאלון בלי התמונה וכך גם ב-tooltip.
    האמת לא כל כך נורא שלא תופיע התמונה, זה לא מאוד עקרוני בשבילי רק מעניין מדוע.

    פורסם במקור בפורום CODE613 ב10/07/2013 12:56 (+03:00)


  • WPF הוספת tooltip ל-Header בתוך style
    T tkt

    זה באמת הוסיף את ה-tooltip אבל אם היה header שהוגדר כך (מכיל טקסט + תמונה קטנה):

    <tabs:ChromeTabItem.Header>
        <StackPanel Orientation="Horizontal">
             <Image Source="..\Images\questionnare.ico"/>
             <TextBlock Text="שאלון"/>
        </StackPanel>
    </tabs:ChromeTabItem.Header>
    

    אז ברגע שה -tooltip מופיע, ה-header נהיה ריק והתוכן שלו לא חוזר גם בהמשך, הערך ב-tooltip נשאר.
    (אותה התנהגות קוראת גם אם אני שמה את השורה הזו בהגדרה של ה-label במיקום שהראיתי למעלה)

    ממש לא ברור לי למה, זה נראה כאילו ה-tooltip שאב ממנו את התוכן של ה-header.

    פורסם במקור בפורום CODE613 ב08/07/2013 12:39 (+03:00)


  • WPF הוספת tooltip ל-Header בתוך style
    T tkt

    אני שמתי את השורה הזו בהגדרה של ה-label:
    <Label Margin="10 0 0 0" VerticalAlignment="Center" Content="{TemplateBinding Header}" [u:1j4sfrr9]ToolTip="{Binding Content.Text}"[/u:1j4sfrr9] Grid.Column="1" />
    אי אפשר לשים את זה בשורה הרביעית, הוא נותן שגיאה:
    The property 'ToolTip' was not found in type 'ControlTemplate'.

    פורסם במקור בפורום CODE613 ב07/07/2013 20:39 (+03:00)


  • WPF הוספת tooltip ל-Header בתוך style
    T tkt

    במקרה ויש טקסט מידי ארוך לטאב יש גודל מקסימלי ואז הטקס חתוך. ב-chrome הפתרון הוא tooltip ורציתי לחקות את אותה התנהגות.

    פורסם במקור בפורום CODE613 ב07/07/2013 14:43 (+03:00)


  • WPF הוספת tooltip ל-Header בתוך style
    T tkt

    יש לי פרויקט שהורדתי מהאינטרנט עבור טאבים בצורה של chrome. הייתי רוצה להוסיף tooltip עבור כל טאב בהתאם לתוכן של ה-header.
    ב-style יש כזו הגדרה

    <Style TargetType="{x:Type local:ChromeTabItem}">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type local:ChromeTabItem}">
                        <Grid>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="5" />
                                <ColumnDefinition Width="*" />
                                <ColumnDefinition Width="20" />
                                <ColumnDefinition Width="5" />
                            </Grid.ColumnDefinitions>
                            <Path Name="TabFill" Margin="0 0 0 1" Grid.ColumnSpan="4" VerticalAlignment="Top" Stretch="Fill" Data="M39,96 C48.75,96 59.25,0 76,0 92.75,0 247,0 258,0 269,0 285.5,95.75 295,96">
                                <Path.Fill>
                                    <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                                        <GradientStop Color="#FFEEEEEE" Offset="0"/>
                                        <GradientStop Color="#FFDDDDDD" Offset="1"/>
                                    </LinearGradientBrush>
                                </Path.Fill>
                            </Path>
                            <Path Name="TabPath" Grid.ColumnSpan="4" VerticalAlignment="Top" Stretch="Fill" Stroke="#FF999999" Data="M39,96 C48.75,96 59.25,0 76,0 92.75,0 247,0 258,0 269,0 285.5,95.75 295,96" />
                            <Path Name="TabHighlight" Margin="0 0 0 1" Grid.ColumnSpan="4" VerticalAlignment="Top" Stretch="Fill" Stroke="White" Data="M39,96 C48.75,96 59.25,0 76,0 92.75,0 247,0 258,0 269,0 285.5,95.75 295,96">
                                <Path.RenderTransformOrigin>
                                    <Point X=".5" Y=".5" />
                                </Path.RenderTransformOrigin>
                                <Path.RenderTransform>
                                    <TransformGroup>
                                        <TranslateTransform Y=".5" />
                                        <ScaleTransform ScaleX=".96" ScaleY=".94" />
                                    </TransformGroup>
                                </Path.RenderTransform>
                            </Path>
                            <Label Margin="10 0 0 0"  VerticalAlignment="Center" Content="{TemplateBinding Header}" Grid.Column="1" />
                            <Button KeyboardNavigation.IsTabStop="False" Margin="0 0 10 0" Style="{StaticResource CloseButtonStyle}" Grid.Column="2" Command="{x:Static local:ChromeTabItem.CloseTabCommand}" />
                        </Grid>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsSelected" Value="True">
                                <Setter Property="Fill" TargetName="TabFill" Value="White" />
                                <Setter Property="Margin" TargetName="TabFill" Value="0 0 0 -1" />
                                <Setter Property="Margin" TargetName="TabPath" Value="0" />
                                <Setter Property="Stroke" TargetName="TabHighlight" Value="Transparent" />
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
    

    ניסיתי להוסיף tooitip לשורה הזו:

    <Label Margin="10 0 0 0"  VerticalAlignment="Center" Content="{TemplateBinding Header}" ToolTip="{Binding Content.Text}" Grid.Column="1" />
    

    אבל לא קרה כלום. ניסיתי גם לשים במקום זה את השורה

    ToolTip="{TemplateBinding Header}"
    

    אז הוא באמת הוסיף tooltip אבל אם היה לטאב template אז ברגע שה-tooltip הופיע נעלם הטקסט של ה-header. לא ברור לי למה.
    אשמח לקבל הסבר איך זה עובד, תודה.

    פורסם במקור בפורום CODE613 ב07/07/2013 11:38 (+03:00)


  • WPF קריאה לפונקציה עם פרמטרים מתוך ה-xaml
    T tkt

    אם זה המצב אז זה באמת לא יחסוך לי כלום.
    אני רציתי לכתוב פחות קוד ויותר xaml אבל אם צריך לכתוב xaml ארוך עבור כל ליסט אז כבר עדיף שורה אחת ב-code behind.

    פורסם במקור בפורום CODE613 ב10/07/2013 12:58 (+03:00)


  • WPF קריאה לפונקציה עם פרמטרים מתוך ה-xaml
    T tkt

    כן התשובה חיובית עבור שתי השאלות.
    אשמח לראות דוגמא איך עושים את זה. לא כל כך הבנתי.
    מה שאני עושה עכשיו בקוד הוא כך:

    TransactionTypeCombo.ItemsSource = GetSourcesOfValues("ppp", "xxx");
                PaymentTypeCombo.ItemsSource = GetSourcesOfValues("ppp", "yyy");
    

    הפונקציה מחזירה לי list של שורות שמתאימות לתנאי מסוים מתוך ה-DB.

    פורסם במקור בפורום CODE613 ב07/07/2013 14:42 (+03:00)


  • WPF קריאה לפונקציה עם פרמטרים מתוך ה-xaml
    T tkt

    יש לי בקוד ה-xaml כמה ליסטים המבוססים על רשימת ערכים שנבנית ע"י פונקציה שמקבלת 2 ערכי טקסט שונים (לכל ליסט ערכים שונים).
    בינתיים הקריאה לפונקציה ואיתחול ה-itemSource של הליסטים נעשים ב-load ב- code behind.
    אני רוצה פתרון לזה דרך ה-xaml. ראיתי שיש אפשרות של ObjectDataProvider שמקבל ערכים אבל לא ברור לי איך הערכים ישתנו לכל ליסט. זה נראה שצריך להגדיר ObjectDataProvider חדש עבור כל ליסט - וזה לא נשמע הגיוני.
    אשמח לשמוע רעיונות אחרים לביצוע.
    תודה רבה.

    פורסם במקור בפורום CODE613 ב06/07/2013 23:57 (+03:00)


  • WPF: איך עושים edit ל- DataGridHyperlinkColumn
    T tkt

    בסוף באמת ביטלתי את יכולת העריכה של העמודה והוספתי כפתור בתוכו שבלחיצה עליו פותח חלון לבחירת path חדש.

    <DataGridTemplateColumn Header="שמור בתיקיה" Width="*" IsReadOnly="True">
        <DataGridTemplateColumn.CellTemplate>
            <DataTemplate>
                <StackPanel Orientation="Horizontal">
                    <TextBlock>
                        <Hyperlink Click="DG_Hyperlink_Click" TextDecorations="None" NavigateUri="{Binding SavedPath}">
                            <TextBlock Text="{Binding SavedPath}" FlowDirection="LeftToRight" TextDecorations="Underline"  />
                        </Hyperlink>
                    </TextBlock>
                    <Button Content="..." Width="30" Click="BrowseFolder_Click" Background="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DataGridCell}}, Path=Background}"/>
                  
                </StackPanel>
            </DataTemplate>
        </DataGridTemplateColumn.CellTemplate>
    </DataGridTemplateColumn>
    
    
    private void DG_Hyperlink_Click(object sender, RoutedEventArgs e)
    {
                     Hyperlink link = e.OriginalSource as Hyperlink;
            System.Diagnostics.Process.Start(link.NavigateUri.LocalPath);
    }
    
    private void BrowseFolder_Click(object sender, RoutedEventArgs e)
    {
        System.Windows.Forms.OpenFileDialog dialog = new System.Windows.Forms.OpenFileDialog();
        if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            ((DataLayer.Documents)((Button)e.Source).DataContext).SavedPath = dialog.InitialDirectory + dialog.FileName; 
    }
    

    תודה רבה על ההדרכה.

    פורסם במקור בפורום CODE613 ב11/07/2013 10:28 (+03:00)


  • WPF: איך עושים edit ל- DataGridHyperlinkColumn
    T tkt

    יש לי datagrid ואני רוצה עמודה מסוג DataGridHyperlinkColumn שמציגה לינק ל-filesystem של המחשב.
    עשיתי את זה כך:

    private void DG_Hyperlink_Click(object sender, RoutedEventArgs e)
    {
        Hyperlink link = e.OriginalSource as Hyperlink;
        System.Diagnostics.Process.Start(link.NavigateUri.AbsoluteUri);
    }
    
    
    <DataGridHyperlinkColumn Header="שמור בתיקיה" Binding="{Binding SavedPath}">
        <DataGridHyperlinkColumn.ElementStyle>
    	    <Style>
                <EventSetter Event="Hyperlink.Click" Handler="DG_Hyperlink_Click" />
            </Style>
        </DataGridHyperlinkColumn.ElementStyle>
    </DataGridHyperlinkColumn>
    

    השאלה היא איך עושים שבלחיצה על המקום הריק בעמודה או במקרה שאין תוכן בעמודה זה יפתח לי folderBrowser יבחר תיקיה או קובץ וימלא את ה-SavedPath בתוכן החדש.
    אני משערת שצריך להשתמש ב- DataGridHyperlinkColumn.EditingElementStyle רק אני לא מבינה איך משתמשים בו.

    תודה רבה

    פורסם במקור בפורום CODE613 ב26/06/2013 21:45 (+03:00)

  • 1 / 1
  • התחברות

  • אין לך חשבון עדיין? הרשמה

  • התחברו או הירשמו כדי לחפש.
  • פוסט ראשון
    פוסט אחרון
0
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום