@dovid כתב באיך לשנות את הרקע של WPF COMBOBOXDROPDOWN:
בד"כ שומרים טמפלט בApp.xaml לשימוש חוזר בפקדים שונים ולשמור על ניקיון וקוד קצר בחלונות.
יש צורה לעשות ככה גם ב-vsto?
@dovid כתב באיך לשנות את הרקע של WPF COMBOBOXDROPDOWN:
בד"כ שומרים טמפלט בApp.xaml לשימוש חוזר בפקדים שונים ולשמור על ניקיון וקוד קצר בחלונות.
יש צורה לעשות ככה גם ב-vsto?
@dovid
תודה!
יש צורה לשנות גם את הצבע של ה-border של COMBOBOXDROPDOWN?
@clickone
תודה רבה זה מקדם אותי המון
האם יש לך מושג איך מקבלים אייקונים של תיקיות וכננים או שאת זה אצטרך לעשות באופן ידני?
@ארי
שיניתי תודה
מישהו יודע איך אפשר איך את האייקון של כל הקבצים בC#
כלומר אם למשל יש לי פרוייקט כמו everything שמציג ברשימה כמה סוגי קבצים ואני רוצה להציג את האייקון שלהם איך אני עושה את זה.
מצו"ב תמונה של התוכנה הנ"ל לשם בהירות

מישהו יודע איך לשנות את הרקע של WPF COMBOBOXDROPDOWN?
לא מצאתי צורה ישירה.
תודה מראש
אתר עם תמונות יפות לגרפיקה - ללא רקע - או לכל צורך אחר
https://www.pngwing.com/
הופתעתי לטובה.
מצו"ב קוד לפרוייקט שלי עבור יצירת
wpf Checked-TreeView עם Binding
אשמח לקבל משוב. תודה

כמו"כ לא הצלחתי לעשות BInding ל itemsorce ישירות מה-xaml רק דרך הקוד זה עובד - אשמח לקבל הדרכה בנושא ממי שיכול.
תודה מראש.
עשיתי את זה בעיקר ללימוד - מקווה שיהיה שימושי בעז"ה לעוד מישהו חוץ ממני.
<Window x:Class="Wpf_Checked_TreeView.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Wpf_Checked_TreeView"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800"
DataContext="{Binding RelativeSource={RelativeSource Self}}"
>
<Grid>
<TreeView x:Name="treeView" ItemsSource="{Binding treeItemsList}">
<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type local:CheckedTreeItem}" ItemsSource="{Binding Children}">
<StackPanel Orientation="Horizontal">
<CheckBox Content="{Binding Name}" IsChecked="{Binding IsChecked, Mode=TwoWay}"/>
</StackPanel>
</HierarchicalDataTemplate>
</TreeView.Resources>
</TreeView>
</Grid>
</Window>
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Linq;
using System.Windows;
namespace Wpf_Checked_TreeView
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public ObservableCollection<object> treeItemsList = new ObservableCollection<object>();
public MainWindow()
{
InitializeComponent();
CheckedTreeItem rootItem1 = new CheckedTreeItem { Name = "root item 1" };
CheckedTreeItem child1 = new CheckedTreeItem { Name = "child item 1"};
CheckedTreeItem child2 = new CheckedTreeItem { Name = "child item 2" };
rootItem1.AddChild(child1);
rootItem1.AddChild(child2);
child1.AddChild(new CheckedTreeItem { Name = "sub child item 1" });
child1.AddChild(new CheckedTreeItem { Name = "sub child item 2" });
child2.AddChild(new CheckedTreeItem { Name = "sub child item 1" });
child2.AddChild(new CheckedTreeItem { Name = "sub child item 2" });
CheckedTreeItem rootItem2 = new CheckedTreeItem { Name = "root item 1" };
rootItem2.AddChild(new CheckedTreeItem { Name = "child item 1" });
rootItem2.AddChild(new CheckedTreeItem { Name = "child item 1" });
treeItemsList.Add(rootItem1);
treeItemsList.Add(rootItem2);
treeView.ItemsSource = treeItemsList;
}
}
public class CheckedTreeItem : INotifyPropertyChanged
{
private ObservableCollection<CheckedTreeItem> _children = new ObservableCollection<CheckedTreeItem>();
public ObservableCollection<CheckedTreeItem> Children
{
get { return _children; }
set
{
_children = value;
OnPropertyChanged(nameof(Children));
}
}
private CheckedTreeItem _parent;
public CheckedTreeItem Parent
{
get { return _parent; }
set
{
_parent = value;
OnPropertyChanged(nameof(Parent));
}
}
private string _name;
public string Name
{
get { return _name; }
set
{
if (_name != value)
{
_name = value;
OnPropertyChanged(nameof(Name));
}
}
}
private bool? _isChecked = false;
public bool? IsChecked
{
get { return _isChecked; }
set
{
if (_isChecked != value)
{
_isChecked = value;
OnPropertyChanged(nameof(IsChecked));
UpdateChildCheckSatus(value);
UpdateParentCheckSatus(value);
}
}
}
void UpdateChildCheckSatus(bool? value)
{
foreach (CheckedTreeItem child in Children)
{
if (value != null){ child.IsChecked = value; }
}
}
void UpdateParentCheckSatus(bool? value)
{
if (Parent != null)
{
bool allChecked = Parent.Children.OfType<CheckedTreeItem>().All(child => child.IsChecked == true);
bool allUnchecked = Parent.Children.OfType<CheckedTreeItem>().All(child => child.IsChecked == false);
if (allChecked) { Parent.IsChecked = true; }
else if (allUnchecked) { Parent.IsChecked = false; }
else { Parent.IsChecked = null; }
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string propertyName)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
public void AddChild(CheckedTreeItem child)
{
if (child is CheckedTreeItem CheckedTreeItem)
{
CheckedTreeItem.Parent = this;
Children.Add(child);
}
}
}
}
מצו"ב קוד לספר טלפונים בhtml - אשמח לקבל משוב:
או למי שרוצה לראות את הקוד כאן בפורום:
<!DOCTYPE html>
<html lang="he">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ספר טלפונים</title>
<style>
table {
border-collapse: collapse;
width: 100%;
}
th, td {
border: 1px solid #dddddd;
padding: 8px;
}
th {
background-color: #f2f2f2;
}
select {
border: 1px solid #ccc;
border-radius: 3px;
padding: 3px;
}
</style>
</head>
<body dir="rtl">
<h2>ספר טלפונים</h2>
<select id="searchType">
<option value="name">שם</option>
<option value="occupation">מקצוע</option>
<option value="phone">טלפון</option>
<option value="email">מייל</option>
</select>
<input type="text" id="searchInput" onkeyup="searchTable()" placeholder="חפש..">
<p>
<table id="phoneDirectory">
<tr>
<th>שם</th>
<th>מספר טלפון</th>
<th>כתובת דואר אלקטרוני</th>
<th>מקצוע</th>
</tr>
<tr>
<td>יוחנן כהן</td>
<td>123-456-7890</td>
<td>yochanan@example.com</td>
<td>מהנדס תוכנה</td>
</tr>
<tr>
<td>יצחק לוי</td>
<td></td>
<td>yitz@example.com</td>
<td>מעצב גרפי</td>
</tr>
<!-- Add more rows as needed -->
</table>
<script>
function searchTable() {
var input, filter, table, tr, td, i, txtValue;
input = document.getElementById("searchInput");
filter = input.value.toUpperCase();
table = document.getElementById("phoneDirectory");
tr = table.getElementsByTagName("tr");
var columnIndex;
var select = document.getElementById("searchType");
var searchType = select.value;
if (searchType === "name") {
columnIndex = 0;
} else if (searchType === "phone") {
columnIndex = 1;
} else if (searchType === "email") {
columnIndex = 2;
} else if (searchType === "occupation") {
columnIndex = 3;
}
for (i = 0; i < tr.length; i++) {
td = tr[i].getElementsByTagName("td")[columnIndex];
if (td) {
txtValue = td.textContent || td.innerText;
if (txtValue.toUpperCase().indexOf(filter) > -1) {
tr[i].style.display = "";
} else {
tr[i].style.display = "none";
}
}
}
}
</script>
</body>
</html>
@OdedDvir כתב בהמלצה לקורס:
זה שגוי בעיני להתקבע על שפה מסויימת מראש.
נו באמת... לא לזה התכווני. רק רציתי לוודא אם תחום העניין שלו הוא יצירת דפי אינטרנט או משהו כזה.
למעשה מה שמעניין אותו זה מסדי נתונים כך שהיריעה פרוסה לפניו לשחק היכן שליבו חפץ.
@OdedDvir כתב בהמלצה לקורס:
אין באמת הבדל גדול בעקרונות התכנות בין שפה לשפה.
אכן, רק שבvba ואקסס אפשר להסתדר גם עם הרגלים רעים מאחר ומדובר בעיקר בקודים ממוקדים. בשפות תכנות אחרות - לא מומלץ להמשיך עם אותו ראש.
וזה מה שבאתי לומר שייקח גם קצת זמן ללמוד עקרונות תכנות ולא רק frontend.
@ארי
לפני שמישהו ימליץ מה ואיפה, אולי כדאי שתפרט קצת יותר.
זה תחביב? יש לך מטרה מסויימת? לאן אתה שואף להגיע? כמה זמן אתה מוכן להשקיע בזה? ומהו תחום העניין שלך (עלול להשליך על איזה שפה כדאי לך ללמוד)? אלו שאלות שאתה צריך גם לענות לעצמך.
ועוד שאלה רבת השלכות: האם אתה שולט באנגלית וכמה?
ועוד הערה קטנה - מכיון שאתה רוצה להתקדם הלאה, זה נכון שקל יותר ללמוד מתוך עשייה אבל - יש הבדל גדול בין תכנות באקסס ו-vba לתכנות מלא, וצריך ללמוד את זה. זה לא רק נושא של ידיעות, צריך גם ללמוד איך לתכנת.
בהצלחה רבה
@dovid כתב בתכנות דף אינטרנט כדי שההעתקה ממנו תהיה מיושרת מימין לשמאל:
@yossiz אם ככה מה מיוחד בדף שלו? היה משמע ממנו שהעתקה מדף אחר עברי כמו האתר פה נותנת תוצאה טובה.
בהתחלה זה היה רק מהדף שלי עכשיו זה נהיה בכל דף שלא יהיה.
אז מה השתבש?
שמתי לב שהעתקה מתוך iexplorer על הדף שלי כן נותן תוצאה טובה
@dovid כתב בתכנות דף אינטרנט כדי שההעתקה ממנו תהיה מיושרת מימין לשמאל:
אם אתה עושה הדבקה כטקסט ללא עיצוב זה כן מיושר לימין?
כן זה מיושר לימין התוכן והמסמך שניהם מיושרים לימין אבל משום מה בהדבקה זה משתבש.
@dovid
אין לי כרום אבל בדקתי בedge וזה ככה
וגם בfirefox
יש לי קוד של דף אינטרנט שמשום מה כל פעם שמעתיקין ממנו את הטקסט לוורד הטקסט נהיה מיושר משמאל לימין.
אשמח לקבל עצה בעניין איך למנוע זאת
מצו"ב הקוד
<!DOCTYPE html>
<html lang="he">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=8">
<title>📑 בראשית - בעל הטורים</title>
<style>
body {
text-align: right;
text-align: justify;
direction: rtl;}
h2,h3,h4{
cursor: pointer;
color: #4169E1;}
.inlineHeader {
font-weight: bold;
cursor: pointer;
color: #4169E1;}
a {
text-decoration: none;
color:#ff6347;
}
a:active {color: #ff6347; }
.footNoteSeparator{
text-align: center;
font-size: 80%;
}
.footnote {
padding-right: 5px;
font-size: 80%;
border-right: 2px solid #f5cba7
}
.footnote2 {;
font-size: 80%;
}
.note {
padding-right: 5px;
padding-left: 5px;
font-size: 80%;
}
.note2 {
color: #36454F;
padding-right: 5px;
padding-left: 5px;
font-size: 80%;
}
.refrence{
font-size: 80%;
cursor: pointer;
color:#ff6347;
}
</style>
</head>
<body dir='rtl'>
<h3 id="📑 בראשית - בעל הטורים, בראשית פרק א">בראשית פרק-א</h3>
<span class="inlineHeader" id="📑 בראשית - בעל הטורים, בראשית פרק א, א">א.</span>
<b>בראשית ברא</b>. בגימטריא בראש השנה נברא (העולם), בראשית נוטריקון בראשונה ראה אלהים שיקבלו ישראל תורה. בראשית ברא אלהים ס''ת אמת מלמד שברא העולם באמת כמו שנאמר ראש דברך אמת וכן יש הרבה פסוקים ס''ת אמת: <p>
<span class="inlineHeader" id="📑 בראשית - בעל הטורים, בראשית פרק א, ב">ב.</span>
<b>ורוח אלהים מרחפת</b>. בגימטריא זו רוחו של משיח: <p>
<span class="inlineHeader" id="📑 בראשית - בעל הטורים, בראשית פרק א, ד">ד.</span>
<b>את האור</b>. בגימטריא בתורה ועולה מנין תרי''ג:<b> את האור כי טוב</b>. ס''ת ברית. וירא אלהים את האור כי טוב ויבדל. מכאן שאין מברכין על הנר עד שיאותו לאורו. כמנין ויבדל מבדילין בשנה במוצאי שבתות: <p>
<span class="inlineHeader" id="📑 בראשית - בעל הטורים, בראשית פרק א, ז">ז.</span>
<b>מעל לרקיע</b>. ב' במסורה הכא ואידך ויהי קול מעל לרקיע במרכבה דיחזקאל. וכמו שאין דורשין במעשה בראשית ברבים כך אין דורשין כמעשה מרכבה: <p>
<span class="inlineHeader" id="📑 בראשית - בעל הטורים, בראשית פרק א, יב">יב.</span>
<b>מזריע זרע למינהו</b>. ר''ת מזל שאין לך עשב שאין לו מזל למעלה: <p>
<span class="inlineHeader" id="📑 בראשית - בעל הטורים, בראשית פרק א, יד">יד.</span>
<b>מארת</b>. חסר שלא נברא להאיר אלא השמש. וירח לא נברא אלא כדי שלא יעבדו לחמה אם תהיה יחידה: <p>
<span class="inlineHeader" id="📑 בראשית - בעל הטורים, בראשית פרק א, כב">כב.</span>
<b>והעוף</b>. ג' במסורה והעוף ירב, והעוף אוכל אותם. זאת תורת הבהמה והעוף, רמז למה שאמרו שעופות טהורות מרובין על הטמאין זהו והעוף ירב פירוש שהן מרובין איזה והעוף אוכל אותם פירוש אותם טהורין וכן זאת תורת וגו' איירי בטהורים: <p>
<span class="inlineHeader" id="📑 בראשית - בעל הטורים, בראשית פרק א, כז">כז.</span>
<b>האדם</b>. אותיות אדמה שנברא מן האדמה. אדם נוטריקון אפר דם מרה: <p>
<span class="inlineHeader" id="📑 בראשית - בעל הטורים, בראשית פרק א, כח">כח.</span>
<b>ורדו בדגת הים</b>. ב' במסורה הכא ואידך ורדו גת פלשתים. אלו זכיתם תרדו אף בדגת הים ואם לאו ירדו גת כלומר תשתעבדו לפלשתים: <p>
<span class="inlineHeader" id="📑 בראשית - בעל הטורים, בראשית פרק א, כט">כט.</span>
<b>פרי עץ</b>. ב' במסורה אשר בו פרי עץ. פרי עץ הדר. רמז למ''ד אילן שאכל ממנו אדה''ר אתרוג היה:<b> זכר</b>. בגימטריא ברכה. נקיבה, כגימטריא בקללה: <p>
<span class="inlineHeader" id="📑 בראשית - בעל הטורים, בראשית פרק א, לא">לא.</span>
<b>יום הששי ויכלו השמים</b>. ר''ת שם בן ד' אותיות שחתם בו מעשה בראשית, וכן ישמחו השמים ותגל הארץ ר''ת שם בן ד' אותיות שחתם העולם בשם בן ד' אותיות: <p>
</body>
<script>
// Define the onclick handler globally
function showAlert() {
alert(document.title + " " + this.id);
}
var element = document.getElementById("");
if (element !== null) { element.scrollIntoView(); }
var originalText = document.body.innerHTML;
var isVowelsReversed = false;
var isCantillationReversed = false;
</script>
</html>
לאחרונה היה לי צורך לעשות progressBar ב- wpf שמתדעכן במשך פעולת async
לאחר שביררתי את הנושא מישהו הביא לי את הדרך דלהלן (זה עובד הרבה יותר טוב מdispatcher שתוקע קצת את החלון שבו הוא פועל)
יוצרים progressreporter
IProgress<double> progressReporter = new Progress<double>(OnProgressChanged);
ו-יוצרים לזה Void
private void OnProgressChanged(double progressValue)
{
progressBar.Value += 1;
}
ואז פשוט תוך כדי הפעולה
progressReporter.Report(1);
ולאיפוס של הprogressbar
progressReporter.Report(-1);
מקווה שלמישהו יהיה תועלת מזה בהצלחה.
@dovid כתב בProgressBar בWPF תוך כדי פעולת thread:
ספציפית לבעיה הזאת מן הסתם גוגל על task dispatcher progressbar יעזור לך,
אני לא עצלן כבר עשיתי את גוגל לפני שפתחתי פוסט. הבעיה נפוצה הפתרונות... או שלא לא מבין אותם או שהם ממש לא קשורים.
אשמח מאוד אם מישהו ירחם עלי ויסביר לי מה הפתרון.
@dovid
אשמח אם תסביר לי למה הקוד גרוע מאוד.
תכל'ס יש פיתרון לבעיה? איך להציג התקדמות בפעולה שכזו?