text:
edit author
Pandey, B. N.
(as bibtex)
Elsewhere: [math people] [google] [google scholar]
Pandey, B. N., Bandyopadhyay, Pulastya. Bayesian estimation of inverse Gaussian distribution. International Journal of Agricultural and Statistical Sciences 2013. 9:373-386
Prakash, Gyan, Pandey, B. N.. Shrinkage estimation of the variance for the exponential type-II censored data. International Journal of Statistics and Systems (IJSS) 2010. 5:251-263
Prakash, Gyan, Singh, D. C., Pandey, B. N.. Some Shrunken testimators for the variance of a normal distribution in double stage samples under an asymmetric loss function. Journal of Probability and Statistical Science 2008. 6:135-154
Pandey, B. N., Srivastava, A. K., Tiwari, H. O.. Shrinkage Testimators and their Applications for the Reciprocal of Shape Parameter of Pareto Distribution. Journal of Statistical Research 2008. 42:45-58
Prakash, Gyan, Pandey, B. N.. Shrinkage estimation for logarithm of variance of a normal distribution under linex loss function. IAPQR Transactions 2007. 32:NA-NA
Pandey, B. N.. Testimator of the scale parameter of the exponential distribution using LINEX loss function. Communications in Statistics: Theory and Methods 1997. 26:2191-2202
Pandey, B. N., Singh, B. P., Mishra, C. S.. Bayes estimation of shape parameter of classical Pareto distribution under LINEX loss function. Communications in Statistics: Theory and Methods 1996. 25:3125-3145
Pandey, B. N., Rai, Omkar. Estimation of mean of a normal under LINEX loss function. The Aligarh Journal of Statistics 1995. 15-16:35-40
Pandey, B. N., Malik, H. J., Dubey, P. K.. Bayesian shrinkage estimators for a measure of dispersion of an inverse Gaussian distribution. Communications in Statistics: Theory and Methods 1995. 24:2261-2270
Pandey, B. N., Malik, H. J.. Some improved estimation for common variance of two populations. Communications in Statistics: Theory and Methods 1994. 23:3019-3035
Pandey, B. N., Rai, Omkar. Bayesian estimation of mean and square of mean of normal distribution using linex loss function (Corr: 93V22 p2401). Communications in Statistics: Theory and Methods 1992. 21:3369-3391
Pandey, B. N., Khare, B. B., Kumar, R.. Determination of sample size for the estimation of variance (STMA V36 1931). The Aligarh Journal of Statistics 1992. 12:71-74
Pandey, M., Pandey, B. N.. Preliminary test estimators of regression coefficient (STMA V34 1507). Journal of the Indian Society of Agricultural Statistics 1992. 44:1-14
Pandey, B. N., Mishra, G. C.. Weighted estimators for a normal population variance. Communications in Statistics: Theory and Methods 1991. 20:235-247
Pandey, B. N., Malik, H. J.. Testing for the mean of the inverse Gaussian distribution and adaptive estimation of parameters (Corr: V20 p1149). Communications in Statistics: Theory and Methods 1990. 19:629-637
Pandey, B. N., Malik, H. J.. Estimation of the mean and the reciprocal of the mean of the inverse Gaussian distribution. Communications in Statistics: Simulation and Computation 1989. 18:1187-1201
Pandey, B. N., Dubey, V.. On the two phase modified ratio estimator using the coefficient of variation of auxiliary characteristic (STMA V31 2772). Journal of the Indian Society of Agricultural Statistics 1989. 41:266-270
Pandey, B. N., Vyas, Dubey. On almost unbiased ratio estimators. METRON 1989. 47:333-338
Pandey, B. N., Malik, H. J., Srivastava, Rakesh. Shrinkage testimators for the shape parameter of Weibull distribution under type II censoring. Communications in Statistics: Theory and Methods 1989. 18:1175-1199
Pandey, B. N., Malik, H. J.. Some improved estimators for a measure of dispersion of an inverse Gaussian distribution. Communications in Statistics: Theory and Methods 1988. 17:3935-3949
Srivastava, S. R., Pandey, B. N., Srivastava, R. S.. A modified estimator for population mean which reduces the effect of large true observations (STMA V27 3036). Journal of the Indian Society of Agricultural Statistics 1985. 37:71-78
Pandey, B. N., Srivastava, Rakesh. On shrinkage estimation of the exponential scale parameter (STMA V27 3013). IEEE Transactions on Reliability 1985. 34:224-226
Pandey, B. N., Singh, K. N.. Estimating the shape parameter of the Weibull distribution by shrinkage towards an interval. South African Statistical Journal 1984. 18:1-11
Pandey, B. N., Singh, K. N.. On shrinkage estimation of normal population variance towards an interval. The Aligarh Journal of Statistics 1984. 4:36-42
Pandey, B. N.. Shrinkage estimation of the exponential scale parameter. IEEE Transactions on Reliability 1983. 32:203-205
Pandey, B. N., Singh, K. N.. Comparison of shrunken estimators of the scale parameter of an exponential density function towards an interval. Journal of the Indian Society of Agricultural Statistics 1983. 35:109-120
Pandey, B. N.. A note on Bayesian estimation of variance in exponential density. The Aligarh Journal of Statistics 1982. 2:23-26
Pandey, B. N.. On estimation of variance in normal distribution (STMA V26 2101). Journal of the Indian Society of Agricultural Statistics 1981. 33:1-6
Pandey, B. N., Singh, Padmakar. Shrinkage estimation of scale in exponential distribution from censored samples. Communications in Statistics, A: Theory and Methods 1980. 9:875-882
Pandey, B. N.. Double stage estimation of population variance. Annals of the Institute of Statistical Mathematics 1979. 31:225-233
Pandey, B. N., Singh, Padmakar. On estimation of common scale in exponential distributions. Calcutta Statistical Association Bulletin 1979. 28:151-155
Pandey, B. N.. On the utilization of a known coefficient of kurtosis in the estimation procedure of variance by mean square successive differences. Journal of the Indian Statistical Association 1978. 16:135-140
Pandey, B. N., Singh, J.. A note on estimation of variance in exponential density. Sankhyā, Series B 1977. 39:294-298
Hirano, K., Pandey, B. N., Singh, J.. On the utilization of a known coefficient of kurtosis in the estimation procedure of variance. Annals of the Institute of Statistical Mathematics 1973. 25:51-55


text:
Alvina
Amalyn
Arries
Anthonite
Rander
Let's Give Thanks!
Over the next 20 days we plan to introduce you to 20 students in an effort to focus on something positive! We want to give THANKS for all that God has done to provide, protect and offer hope for a better future through education to 93 students in Liberia, West Africa. This past school year 2019/2020, has just come to an end after being interrupted by COVID-19. Thanks to the generosity of many people around the globe, 93 students and their families have not only received an education but have also been given food, masks and cleaning supplies while being quarantined due to the COVID-19 pandemic. Thankfully, all of our students and their families have weathered the challenges and although some have suffered from malaria and other common illnesses, no one has become ill with COVID-19. We are grateful for the Keyara's Gift Director, Supervisor and the five Case Workers in Liberia who have worked to help educate families on the importance of wearing masks, social distancing, proper hand washing and for delivering school work and lessons to students allowing them to continue learning during their mandatory curfew and quarantine.
This past year has been challenging for everyone! We have watched uncertainty become normal as our lives have been turned upside down. Many have experienced cancelled plans, school and work moved online and the way we interact with friends and family has changed drastically in an effort to protect each other. As the United States prepares for the upcoming Presidential Election, the news is filled with adversity and for many it's causing a feeling of unrest. So, for the next 20 days, we hope you'll join us in spending two minutes each day to focus on something positive - the face of a grateful child. Each one has been given the gift of education and healthcare that their families could not afford.
It currently costs about $425 per year, per student, which includes their school fees, uniforms, book bags, school supplies and shoes. Although our seven Liberian Staff are paid, their salaries are paid by private donations so that any money you give today will go directly towards a student and their education. Thank you in advance for your generosity and offering hope through education to a student in Liberia.
Kreig and Karen Ecklund
Keyara's Gift Co-Founders
Grade: Kinder - 2
Daniel is an Ebola orphan taken in by Keyara's Gift Supervisor, Mamie in 2014. In May 2019, we shared that Daniel had suffered severe burns on his buttocks and legs when he fell backward and landed into a bucket of boiling water. We are grateful for the generosity of donors to help pay for Daniel's skin graft surgeries, hospitalizations and extra food which allowed him to eat high protein helping his body heal. It has been an extra challenging five months and we were concerned that Daniel would have a hard time walking and sitting - but we are told that Daniel is completely healed now. He has been doing physical therapy exercises which has helped his skin stretch and he is now walking and moving on his own.
Daniel continues to steal our hearts with his smile and in the future he wants to be a pastor to help people know God loves them.
If you'd like to contribute to the 2020/2021 school year, helping Daniel and others to go to school, choose one of the options below to donate now:
Donate via Credit/Debit/ACH
Find Out About Other Ways to Donate
Grade: 8th
Alvina's father died when she was young, leaving her mom alone and struggling to support Alvina and her sister. In Liberia, a good annual salary is about $400 per year, but that requires you to have a job. Although Alvina's mom was fortunate to earn a high school diploma, she was unable to find steady work. This lack of income made putting food on the table a daily challenge and the dream of an education for Alvina seemed impossible. For the past four years, Keyara's Gift has helped to lift that burden and given Alvina the gift of education.
Alvina currently lives with her mom, stepfather and sister. Her mother runs a small table market in their yard and her stepfather does small jobs for friends. Alvina recently shared with one of our Case Workers that she loves to read and write. She is a news reader at her school and aspires to be a journalist someday.
If you'd like to contribute to the 2020/2021 school year, helping Alvina and others to go to school, choose one of the options below to donate now:
Yesterday, Day #2, you met Alvina – now meet her younger sister, Linda. Once their father died, the girls' mother struggled and had little hope of sending them to school. When Goldy, a Keyara's Gift Caseworker, learned of this family's plight – she recommended sponsorship and ended up becoming Linda's caseworker.
Goldy's job, like each of the five Keyara's Gift Caseworkers, is to spend time getting to know each of the 15-18 students assigned to their care. Not only do they check in with students at school, monitor attendance, attend PTA meetings, and advocate for their education – they also become trusted adults – there to help students through any challenges they may face, ensuring their safety and health.
In January of 2020, Goldy learned that Linda was missing school. After an in-person visit, she found Linda very weak with the whites of her eyes yellow. Knowing there was no money for a doctor's visit (medical care must be paid for BEFORE treatment is rendered in Liberia) Goldy transported Linda to the hospital and arranged for treatment with funds from Keyara's Gift. They discovered she had liver problems and a very low blood count. After several tenuous days of blood transfusions, medicine, rest and prayer – Linda made a full recovery and today aspires to become a doctor herself.
We are thankful for each of the Keyara's Gift Caseworkers who have a lasting impact on the students they serve. While Linda's mom is thrilled that her girls are being educated this year, she is most grateful that her daughter's life was saved!
If you'd like to contribute to the 2020/2021 school year, helping Linda and others to go to school, choose one of the options below to donate now:
Benedict lives with his Aunt Mammie, in an underdeveloped and overpopulated part of Monrovia known as Peace Island. Mammie, the Supervisor for the Keyara's Gift caseworkers, has a huge heart and an open door for anyone in need - especially children. When her own nephew, Benedict, was just 3 years old, his father abandoned the family - moving "up country" and out of Benedict's life. This disaster was compounded when Benedict's mother, Kortu, became ill and unable to care for herself or her children.
Mammie knew Benedict's only chance would be to join her family - and that his only chance at an education would be sponsorship by Keyara's Gift. For the last four years, Benedict has been a wonderful addition to Mammie's family. He is helpful, kind, and polite - contributing to the family's income (Mammie is a single mother herself) by selling common household supplies from a table in their front yard. As a beloved part of the Peace Island community, Benedict enjoys his education and playing soccer, waiting for the day when his dream of joining the Liberian Army, in order to help protect his people and serve his country, can be realized.
If you'd like to contribute to the 2020/2021 school year, helping Benedict and others to go to school, choose one of the options below to donate now:
We can't introduce Amalyn, without also highlighting her remarkable grandmother, Musu. Like many families in Liberia, resources are pooled in order to make it through to the next day. In this case, Musu who is a widow, shares her small plot of land and two small cement block houses, with about twenty people. Amalyn became one of them, along with her siblings, when it became clear their single mother couldn't provide for them where they lived in the countryside.
During the week, Amalyn and her brothers live with Musu, attending school through sponsorship by Keyara's Gift. Amalyn aspires to be a nurse and helps with cooking and household chores, while her brothers contribute by breaking up large rocks into smaller chunks to be sold as construction gravel. They spend weekends with their mother but enjoy the bustle and activity of Musu's home during the week - which almost always includes a lively game of kickball with the neighborhood kids.
(For more about Musu's story, and the beginnings of Keyara's Gift - read Karen's blog post from 2009.)
If you'd like to contribute to the 2020/2021 school year, helping Amalyn and others to go to school, choose one of the options below to donate now:
Alfred holds a special place in our hearts. When we first met ten-year-old Alfred, his future was bleak. After being struck by a car and losing his sight, it seemed he'd follow the dead-end life that most blind Liberians face. No education, no income, no adaptive tools, no safety net – total dependency.
What changed Alfred's outcome? His full story of sponsorship is a tale of resiliency, hope, education and God's grace – but it ultimately meant that after seven years in a
special boarding school for the blind, Alfred was equipped with the skills to enter public school. He might be one of the older 8th graders but Alfred is full of joy and ambition, now able to compete with other students and navigate life independently. He loves to sing gospel songs and prays he'll one day become a pastor – sharing God's love and hope with others.
Read Kaitlyn's account of Alfred's full story and consider contributing towards a special Keyara's Gift fund of $1,200, to purchase Alfred a new computer, equipped with specialized, assistive software (add "Alfred Computer" into the donation note).
If you'd like to contribute to the 2020/2021 school year, helping Alfred and others to go to school, choose one of the options below to donate now:
Grade: High School Graduate
Thelma was born in 1998 in between two vicious civil wars that Liberia experienced. About a year after she was born, the second war started and various rebel factions tore the country apart. Sadly, when Thelma was three, her father was killed in the war. As a result, she grew up with a single mother and her siblings. In Liberia only 46%* of children age 15 or younger live with both parents. To get by, Thelma helped her mother sell petty goods in the market in order to pay for food, rent and her older siblings' school fees. Although she was able to attend school some years, often they did not have the money. With her spotty education, Thelma worried she might join the 52%* of Liberian women who are illiterate.
Fortunately, in 2014, before Keyara's Gift was formed in 2017, she received a scholarship from the founders of Keyara's Gift which began a stable base for her education. Thelma has been on the scholarship program ever since. This past school year, Thelma was able to graduate from high school at the age of 22. She is looking to continue her education by studying Management so that she can help support her mother who has given so much to her over the years. Thelma reflected, "I am more than happy that Keyara's Gift has helped me achieve this milestone and recognized my value as a girl!"
* - Read more on Living Conditions for Children in Liberia
If you'd like to contribute to the 2020/2021 school year, helping Thelma and others to go to school, choose one of the options below to donate now:
Today we meet Beatrice. If you've been following along, you might have ascertained that many of the students sponsored by Keyara's Gift are being raised by a single parent, a grandparent, or by other extended family members. Families in Liberia share resources and living space, which means the composition of many households are blended and somewhat fluid.
When Beatrice was born, her mother suffered from severe, postpartum depression and paralysis, leaving newborn Beatrice in the care of her grandmother. At the age of five, Beatrice was adopted by her uncle, Prince, who is one of our five caseworkers. Beatrice is now a thriving 7th grader who loves to cook and enjoys working in a neighborhood cookshop when not in school. She hopes to become a medical doctor to help save lives.
If you'd like to contribute to the 2020/2021 school year, helping Beatrice and others to go to school, choose one of the options below to donate now:
Grade: 10th
Until he was 12 years old, Arries grew up in the rural interior of Liberia, which meant he had no access to a substantive education. His parents saw that he was bright and eager to learn, so together with his aunt who could provide him shelter, decided that his best chance for attending school would be moving to Liberia's capital city of Monrovia.
By moving in with his aunt, Arries was at least one step closer to attending school. However, his aunt as a single parent with many other dependents wondered how she could afford the $425 required for school fees, uniforms, and supplies. Keyara's Gift began sponsoring Arries in 2017 and he has excelled! Despite missing many years of school, he has been promoted several times, skipping grades so that he is now on track to graduate with his peers. Arries' favorite subject is science and he dreams of one day becoming a pilot.
If you'd like to contribute to the 2020/2021 school year, helping Arries and others to go to school, choose one of the options below to donate now:
The first thing you'll notice about Hawa, is that she is always smiling! She loves school and excels in science and reading - two subjects that will help her on the road to her dream of becoming a doctor. Hawa worked hard and received double promotions from lower grades, to be one of the younger 9th graders.
Education in Liberia can be disrupted for any number of reasons, from economic hardships, a change in life circumstances, political unrest, or outbreaks of diseases like Ebola in 2014 or now with COVID-19. In Hawa's case, she had a late start, caused in part by the fact that her Muslim father abandoned the family when she was four, after her mother converted to Christianity. (According to the 2008 National Census, 85% of Liberian's claim Christianity while Muslims make up around 12%.*) Thankfully, sponsorship through Keyara's Gift since 2016 has enabled Hawa to stay in school and continue the joy of learning.
* - Read more about Liberia
If you'd like to contribute to the 2020/2021 school year, helping Hawa and others to go to school, choose one of the options below to donate now:
Grade: 10th
Silas might be a familiar name to many of you. Perhaps you are even one of the generous donors who offered life-saving contributions after disaster struck Silas at the age of five. He inadvertently mistook caustic soda (a lye-based cleaner) for water, instantly burning and scarring his esophagus, making it impossible for him to swallow. His initial treatment, at a Doctor's Without Borders Hospital in Monrovia, included the insertion of a feeding tube into his stomach. Several years later, Silas and his mother flew to Kenya for a surgery to repair his esophagus and after an additional eight months of recovery at Bethany's Kid's Hospital, he was able to sufficiently eat and drink.
This single mistake could have ended his life. Instead, through Keyara's Gift, he received the healthcare he needed, supplemental nourishment and a scholarship. Silas is now able to attend school and pursue his high school diploma. He has seen many nurses in action during his treatments and aspires to become a nurse so he too can save lives.
Scroll to the bottom of this 2010 blog post to see younger Silas just two years after his accident.
If you'd like to contribute to the 2020/2021 school year, helping Silas and others to go to school, choose one of the options below to donate now:
Grade: High School Graduate
Yesterday we shared a bit of Silas's story and today we'd like to introduce you to his older sister, Lydia. Lydia and Silas were fortunate to have engaged parents, who were supportive and enthusiastic about their kids' education and future. Unfortunately, when Silas and his mom spent eight months in Kenya for his treatment, their father strayed and life changed for everyone. All of their resources went into taking care of Silas, putting food on the table, and education therefore became an unattainable luxury.
Throughout all of this, Lydia's educational prospects seemed uncertain. Thankfully, a Keyara's Gift sponsorship beginning in 2012 meant she could pursue an education and has now graduated from high school, with her sights on a career in nursing. Kemah, Lydia's mom couldn't be more proud about her daughter's accomplishments and shared, "Keyara's Gift program is like an extra pair of hands or husband, not for Lydia alone, but for both of my children. This program helps all our children to have a better life than their parents."
If you'd like to contribute to the 2020/2021 school year, helping Lydia and others to go to school, choose one of the options below to donate now:
Blessing might be a unique first name in the United States but it perfectly embodies the student we highlight today. Blessing is oldest son to Eunice and older brother to Samuel, another student sponsored by Keyara's Gift. Both boys struggle with sickle cell anemia, a genetic blood disease that distorts the shape of the oxygen-carrying blood protein hemoglobin, found in red blood cells.
Anemia, swelling of hands and feet, and painful attacks caused during "sickle cell crisis" are all realities Blessing, and especially his brother Samuel, must endure, but they face it together. Blessing accompanies Samuel to the hospital, carries him when he can't walk, encourages his widowed mother with smiles and jokes, and despite many medical interruptions of his studies, is now in 11th grade. Blessing is truly a blessing to all those around him.
If you'd like to contribute to the 2020/2021 school year, helping Blessing and others to go to school, choose one of the options below to donate now:
Kumba, like many of our sponsored students, shoulders enormous responsibility within her family. Her mother and stepfather farm plantains and cassava, two crops that are harvested and sold only once a year. This means the family's income can be unpredictable and precarious - everything rides on that single harvest. No room for natural disaster, low-yields, or poor market prices.
Without sponsorship, neither Kumba nor her siblings would be able to afford an education. But without Kumba's cooking, oversight, and care of her younger siblings- none of them could access that education. This is because the family farm is located in River Cess County, a one-day journey away from the schools of Monrovia. When Kumba's mom must travel and work on the farm, Kumba is in charge. Even with her significant roll acting as a second mom - she excels in English and hopes to one day be an accountant.
If you'd like to contribute to the 2020/2021 school year, helping Kumba and others to go to school, choose one of the options below to donate now:
Yesterday we introduced Kumba, and mentioned she is like a second mother to her younger siblings. One of those siblings is Solomon, whom we met eleven years ago. At the time, he was in need of medical attention for a urinary tract problem that required sponsorship for travel to Kenya so that he could have surgery. Solomon is now completely healed and a student who excels in school – especially math, chemistry, and writing – all beneficial skills for his desire to become a doctor.
When Solomon and his mom traveled to Kenya for his surgery, we learned that his two sisters, Kumba and Jebbeh, were left in the care of their grandmother and unable to attend school. Today, all three siblings are sponsored students – pursuing education and careers we hope will change the course of their family's future.
If you'd like to contribute to the 2020/2021 school year, helping Solomon and others to go to school, choose one of the options below to donate now:
Grade: 3rd
This is Anthonite. As you can see, she has a sparkle in her eye and if you saw her play kickball – you'd see she is quick and agile. Anthonite is an only child living with her grandma since her parent's split up four years ago. She is a good student and contributes to the household by helping her grandma as needed, usually by washing dishes.
The process of washing dishes in Anthonite's home, and most Liberian homes, is exactly that - a process. It begins by fetching water in a 5-gallon jerry can from the nearest hand pump well. Depending on distance to the well, carrying back the filled, 45-pound jerry can is hard work or really hard work. In Anthonite's case, she walks several hundred yards to the use the neighbor's well, for a small fee, since her grandmother's well caved in several year ago. Once water is procured, the cleaning begins. A bowl is filled, dirty dishes are washed and rinsed, and left to dry in the hot sun until the next meal. Day in, day out, this is what Anthonite does to help her family - she is a hard worker and we pray she never loses that sparkle.
If you'd like to contribute to the 2020/2021 school year, helping Anthonite and others to go to school, choose one of the options below to donate now:
Say hello to Abraham - or "AB" - as he is known by his friends and family. AB is a huge help to his mother, Mammie, by fetching water and doing housework. (If you read yesterday's account of fetching water, you'll know it's hard, daily work.) AB does well in his studies, improving semester over semester, even though his true passion is on display when he plays soccer with his neighbors on Peace Island, an area of Monrovia.
Although Keyara's Gift sponsorship is chiefly about empowering kids through access to education, it most recently included COVID prevention relief. Their recent experience with Ebola has taught Liberians to treat outbreaks seriously, but as we know, these diseases are spread differently. We wanted students and their families to have information, training, and the necessary equipment for protection so we gave them cleaning supplies (plastic buckets, disinfectants, and soap) and face masks. Most families visit the market daily, purchasing food with the meager funds they have available. Since social distancing is essentially impossible at a Liberian market, each family was also provided with food staples (rice, oil) so they could avoid the crowded markets and save money for the purchase of other essentials.
We rejoice that none of our students have contracted COVID and pray for their continued protection!
If you'd like to contribute to the 2020/2021 school year, helping Abraham and others to go to school, choose one of the options below to donate now:
Today we shine the spotlight on Favor, or "Little Musu", a nickname given because she takes after her grandmother Musu. Little Musu is an enthusiastic student and helper around the house. She has many friends and even though she was born with a deformed left arm, she is thriving, capable, and a hard worker.
Part of Little Musu's weekly chores includes helping with the washing of clothes. Similar to the task of fetching water, doing laundry is a physically demanding, manual, and time-consuming endeavor. Water must be fetched and heated, clothes soaked and scrubbed - then rinsed and hung to dry. The drying of clothes is also a challenge, mostly because of Liberia's tropical monsoon climate, making it humid year-round, especially during the rainy season from May to October, but also because clothes are sometimes stolen from the clothesline. (Monrovia is "the wettest capital in the world" with an annual average rainfall of 182 inches!)
Little Musu, like all of our sponsored students, is given two school uniforms and two physical education uniforms because without a proper uniform, students are sent home and not allowed to attend class. Having a spare uniform provides a little buffer against dirty or stolen laundry and means students don't miss out on their education!
If you'd like to contribute to the 2020/2021 school year, helping Favor and others to go to school, choose one of the options below to donate now:
We are pleased to introduce Rander - younger brother of Favor or "Little Musu", who you met yesterday. Like his sister, Rander is an eager student. He loves math, science, does well in spelling, and envisions a future as an engineer. He also is passionate about basketball.
Most 4th graders in the US are nine years old but this is a statistical achievement in Liberia, where many students are "overage" for their grade placement. Liberia's 14-year civil war delayed or ended education for many and school closure during the 2014 Ebola outbreak further compounded the problem. Qualified teachers still haven't returned and over 60% of school buildings (including water and sanitation facilities) that were destroyed during the war have yet to be rebuilt. Tragically, Liberia is behind the rest of Africa in almost all educational statistics.
We rejoice that Rander is on track to stay in school and we are grateful for the Keyara's Gift supporters whose generosity has helped him beat the odds!
If you'd like to contribute to the 2020/2021 school year, helping Rander and others to go to school, choose one of the options below to donate now:
Thank you for lending us your ear, over these last 20 days. As our final featured student, we are delighted to introduce Reuben.
Reuben loves to read, excels in his schoolwork, shows tremendous grit, has a strong work ethic, and is very entrepreneurial - washing clothes and crushing rocks to earn money for his lunch and school transportation. He aspires to work with computers in IT. Sadly, Reuben's mother died during childbirth when he was only two. His father died during the war, leaving him orphaned but not alone, as he now lives with his grandmother.
Transportation is another challenge in getting an education which we haven't highlighted. Much of Liberia's infrastructure has not yet been rebuilt and students often live miles from the nearest school. In Reuben's case, he has a twenty-minute walk along a dirt road. During the rainy months, this becomes especially muddy and arduous. Taxis, which are often in poor repair, tend to be overcrowded and costly. At an average cost of one US dollar per ride, taxis aren't a sustainable option for the many Liberian's living on less than two dollars a day. (An average Liberian annual income is around $580 in 2019.) Due to these challenges, we do all we can to keep our students close to home and supporting the neighborhood schools.
Although today marks the end of our "Giving Thanks in 2020" campaign - it does not end our desire to see Liberian children overcome the crushing effects of poverty. By meeting a handful of our remarkable students, we hope you've better understood the challenges they face, their resiliency, and the importance of their education.
On behalf of Reuben, and all of our 93 sponsored students, we thank you for your support! Through your sponsorship they know they are loved, not forgotten, and are on the road to a brighter future!
If you'd like to contribute to the 2020/2021 school year, helping Reuben and others to go to school, choose one of the options below to donate now:

redpajama_set_name: RedPajamaCommonCrawl


text:
Q: Control template triggers cannot set value when used with StaticResource or x:Static Strange issues I faced.
When trying to use StaticResource or x:Static with a converter from ControlTemplate.Trigger the converter value is always NULL.
In the below example the different usages are shown without any issues:
<StackPanel Orientation="Horizontal">
    <ContentControl Content="{DynamicResource Plus}"/>
    <ContentControl Content="{DynamicResource Minus}"/>
    <ContentControl Content="{Binding Source={StaticResource Plus}}"/>
    <ContentControl Content="{Binding Source={StaticResource Minus}}"/>
    <ContentControl Content="{Binding Source={StaticResource Plus}, Converter={StaticResource ToRed}}"/>
    <ContentControl Content="{Binding Source={StaticResource Minus}, Converter={StaticResource ToRed}}"/>
</StackPanel>

<StackPanel Orientation="Horizontal">
    <ContentControl Content="{x:Static icon:Icons.Plus}"/>
    <ContentControl Content="{x:Static icon:Icons.Minus}"/>
    <ContentControl Content="{Binding Source={x:Static icon:Icons.Plus}}"/>
    <ContentControl Content="{Binding Source={x:Static icon:Icons.Minus}}"/>
    <ContentControl Content="{Binding Source={x:Static icon:Icons.Plus}, Converter={StaticResource ToRed}}"/>
    <ContentControl Content="{Binding Source={x:Static icon:Icons.Minus}, Converter={StaticResource ToRed}}"/>
</StackPanel>

The above code results in:

so far all good, both the StaticResouce and x:Static works fine, but the same examples when used within a ControlTemplate.Triggers then the converter gets NULL as VALUE
This is tested in .NET 4.5, 4.7.2 and 4.8 in VS 16.11.15 (2019)
To reproduce:
MyResources.xaml
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

    <Viewbox x:Key="Minus" x:Shared="False" Stretch="Uniform">
        <Canvas Width="32" Height="32" Clip="F1 M 0,0L 32,0L 32,32L 0,32L 0,0">
            <Rectangle Width="19" Height="19" Canvas.Left="6.49999" Canvas.Top="6.5" Stretch="Fill" StrokeMiterLimit="2.75" Stroke="#FF575756"/>
            <Rectangle Width="9" Height="2" Canvas.Left="11.5" Canvas.Top="15" Stretch="Fill" Fill="#FF1E5AA0"/>
        </Canvas>
    </Viewbox>

    <Viewbox x:Key="Plus" x:Shared="False" Stretch="Uniform">
        <Canvas Width="32" Height="32" Clip="F1 M 0,0L 32,0L 32,32L 0,32L 0,0">
            <Rectangle Width="19" Height="19" Canvas.Left="6.49999" Canvas.Top="6.5" Stretch="Fill" StrokeMiterLimit="2.75" Stroke="#FF575756"/>
            <Path Width="9" Height="9" Canvas.Left="11.5" Canvas.Top="11.5" Stretch="Fill" Fill="#FF1E5AA0" Data="F1 M 20.5,15L 17,15L 17,11.5L 15,11.5L 15,15L 11.5,15L 11.5,17L 15,17L 15,20.5L 17,20.5L 17,17L 20.5,17L 20.5,15 Z "/>
        </Canvas>
    </Viewbox>
</ResourceDictionary>

Static classes
//STATIC CLASS TO GET ICONS via x:Static
public static class Icons
{
    public static UIElement Minus => GetIconByName("Minus");
    public static UIElement Plus => GetIconByName("Plus");

    private static UIElement GetIconByName(string name)
    {
        try
        {
           return Application.Current.FindResource(name) as UIElement;
        }
        catch
        {
           return null;
        }
   }
}

//STATIC CLASS TO WRITE TO THE CONSOLE TEXTBOX
public static class Console
{
    public static void WriteLine(string message)
    {
        var console = ((MainWindow) Application.Current.MainWindow).Console;
        if (console == null)
        {
            Debug.WriteLine(message);
            return;
        }
        console.Text = $"{message}\n{console.Text}";
    }
}

//STATIC EXTENSION CLASS FOR CHANGING COLORS
public static class Extensions
{
    public static UIElement ToRed(this UIElement element)
    {
        if (element == null) return null;
        var result = (UIElement)System.Windows.Markup.XamlReader.Parse(System.Windows.Markup.XamlWriter.Save(element));

        result.ReColorAll(new SolidColorBrush(Colors.Red));
        return result;
    }

    private static void ReColorAll(this DependencyObject element, Brush newColor)
    {
        if (element is null) return;
        for (var i = 0; i < VisualTreeHelper.GetChildrenCount(element); i++)
        {
            // Retrieve child visual at specified index value.
            var childVisual = VisualTreeHelper.GetChild(element, i);
            switch (childVisual)
            {
                case Shape shape:
                    {
                        if (shape.Fill != null) shape.Fill = newColor;
                        if (shape.Stroke != null) shape.Stroke = newColor;
                        break;
                    }
                case GeometryDrawing drawing:
                    {
                        if (drawing.Brush != null) drawing.Brush = newColor;
                        break;
                    }
            }

            childVisual.ReColorAll(newColor);
        }
    }
}

Converter class
//CONVERTER CLASS TO CONVERTER ICONS TO RED
public class ToRedConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        Console.WriteLine($"PARAMETER: {parameter} - VALUE: {value}");
        var result = !(value is UIElement element) ? value : element.ToRed();

        return result;
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}

MainWindow.xaml
<Window x:Class="WpfAllPurposesTest.MainWindow"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:icon="clr-namespace:WpfAllPurposesTest"
        Title="InfragisticsWindow" Width="700" Height="800">

    <Window.Resources>
        <icon:ToRedConverter x:Key="ToRed"/>

        <!--STYLE/TEMPLATE FOR TOGGLE BUTTON-->
        <Style x:Key="TreeToggleButtonStyle" TargetType="ToggleButton" x:Shared="False">
            <Setter Property="Focusable" Value="False"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="ToggleButton">
                        <Grid Width="20" Height="20" Background="{TemplateBinding Background}">
                            <ContentControl x:Name="ExpandPath" Content="{Binding Path=Content, RelativeSource={RelativeSource TemplatedParent}}" />
                        </Grid>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>

        <!--STYLE/TEMPLATE FOR TREEVIEWITEM-->
        <Style TargetType="{x:Type TreeViewItem}">
            <Setter Property="OverridesDefaultStyle" Value="True"/>
            <Setter Property="FocusVisualStyle" Value="{x:Null}"/>
            <Setter Property="Background" Value="Transparent"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type TreeViewItem}">
                        <Grid>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="25"/>
                                <ColumnDefinition Width="Auto"/>
                                <ColumnDefinition Width="*"/>
                            </Grid.ColumnDefinitions>
                            <Grid.RowDefinitions>
                                <RowDefinition x:Name="RowToHide" Height="20"/>
                                <RowDefinition/>
                            </Grid.RowDefinitions>
                            <Border Name="BrdBackground" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="3" BorderBrush="Gray" BorderThickness="0,0,0,0"/>
                            <!--VERTICAL LINE-->
                            <Border Name="VerticalLine" Grid.Row="0" Grid.RowSpan="2" Grid.Column="0">
                                <Path Data="M 5 1 L 5 9" StrokeThickness="0.5" Stroke="Black" Stretch="Fill" VerticalAlignment="Stretch" HorizontalAlignment="Center"/>
                            </Border>
                            <!--HORIZONTAL LINE-->
                            <Border Grid.Row="0" Grid.Column="0" Width="25">
                                <Path Data="M 12 12 L 25 12" StrokeThickness="0.5" Stroke="Black" Stretch="None"/>
                            </Border>
                            <!--EXPANDER / PLUS / MINUS ICON-->
                            <ToggleButton x:Name="Expander" Grid.Column="0" Grid.Row="0" Background="White" IsChecked="{Binding Path=IsExpanded, RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay}"
                                 ClickMode="Press" Content="{Binding Source={StaticResource Plus}}" Style="{DynamicResource TreeToggleButtonStyle}" Visibility="Visible" Margin="0,0,2,0"/>

                            <!--TREE VIEW ITEM-->
                            <ContentPresenter x:Name="PART_Header" Grid.Column="1" Grid.Row="0" ContentSource="Header" HorizontalAlignment="Left"/>
                            <!--TREE VIEW ITEM CHILDREN HOST-->
                            <ItemsPresenter x:Name="ItemsHost" Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="2" />
                            <!--DUMMY BORDER TO MAKE ITEM AVAILABLE FOR MOUSE OVER AND SELECTION-->
                            <Border x:Name="TopBorder" Grid.Column="1" Grid.ColumnSpan="2" Grid.Row="0" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" BorderThickness="0" Background="Transparent"/>
                        </Grid>
                        <!--TRIGGERS-->
                        <ControlTemplate.Triggers>
                            <Trigger Property="HasItems" Value="false">
                                <Setter TargetName="Expander" Property="Visibility" Value="Collapsed"/>
                            </Trigger>
                            <Trigger Property="IsExpanded" Value="false">
                                <Setter TargetName="ItemsHost" Property="Visibility" Value="Collapsed"/>
                            </Trigger>

                            <MultiTrigger>
                                <MultiTrigger.Conditions>
                                    <Condition SourceName="TopBorder" Property="IsMouseOver" Value="true"/>
                                    <Condition Property="IsSelected" Value="false"/>
                                    <Condition Property="IsExpanded" Value="false"/>
                                </MultiTrigger.Conditions>
                                <Setter TargetName="Expander" Property="Content" Value="{Binding Source={StaticResource Plus}, Converter={StaticResource ToRed}, ConverterParameter=CONVERTtview1}"/>
                                <Setter TargetName="Expander" Property="Background" Value="LightSkyBlue"/>
                                <Setter TargetName="BrdBackground" Property="Background" Value="LightSkyBlue"/>
                            </MultiTrigger>

                            <MultiTrigger>
                                <MultiTrigger.Conditions>
                                    <Condition SourceName="TopBorder" Property="IsMouseOver" Value="true"/>
                                    <Condition Property="IsSelected" Value="false"/>
                                    <Condition Property="IsExpanded" Value="true"/>
                                </MultiTrigger.Conditions>
                                <Setter TargetName="Expander" Property="Content" Value="{Binding Source={StaticResource Minus}, Converter={StaticResource ToRed}, ConverterParameter=CONVERTtview2}"/>
                                <Setter TargetName="Expander" Property="Background" Value="LightSkyBlue"/>
                                <Setter TargetName="BrdBackground" Property="Background" Value="LightSkyBlue"/>
                            </MultiTrigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>

        <!--STYLE/TEMPLATE FOR BUTTON-->
        <Style TargetType="{x:Type Button}">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="Button">
                        <StackPanel>
                            <ContentControl Name="Temp_Content" Width="50" Height="50" Content="{StaticResource Plus}"/>
                            <ContentPresenter />
                        </StackPanel>

                        <ControlTemplate.Triggers>
                            <Trigger Property="IsMouseOver" Value="True">
                                <Setter TargetName="Temp_Content" Property="Content" Value="{Binding Source={StaticResource Minus}, Converter={StaticResource ToRed}, ConverterParameter=CONVERTbtn}"/>
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>

    </Window.Resources>

    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto"/>
            <ColumnDefinition Width="Auto"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
        <StackPanel Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" Orientation="Horizontal">
            <ContentControl Content="{DynamicResource Plus}" Width="50" Height="50" Margin="10"/>
            <ContentControl Content="{DynamicResource Minus}" Width="50" Height="50" Margin="10"/>
            <ContentControl Content="{Binding Source={StaticResource Plus}}" Width="50" Height="50" Margin="10"/>
            <ContentControl Content="{Binding Source={StaticResource Minus}}" Width="50" Height="50" Margin="10"/>
            <ContentControl Content="{Binding Source={StaticResource Plus}, Converter={StaticResource ToRed}}" Width="50" Height="50" Margin="10"/>
            <ContentControl Content="{Binding Source={StaticResource Minus}, Converter={StaticResource ToRed}}" Width="50" Height="50" Margin="10"/>
        </StackPanel>

        <StackPanel Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" Orientation="Horizontal">
            <ContentControl Content="{x:Static icon:Icons.Plus}" Width="50" Height="50" Margin="10"/>
            <ContentControl Content="{x:Static icon:Icons.Minus}" Width="50" Height="50" Margin="10"/>
            <ContentControl Content="{Binding Source={x:Static icon:Icons.Plus}}" Width="50" Height="50" Margin="10"/>
            <ContentControl Content="{Binding Source={x:Static icon:Icons.Minus}}" Width="50" Height="50" Margin="10"/>
            <ContentControl Content="{Binding Source={x:Static icon:Icons.Plus}, Converter={StaticResource ToRed}}" Width="50" Height="50" Margin="10"/>
            <ContentControl Content="{Binding Source={x:Static icon:Icons.Minus}, Converter={StaticResource ToRed}}" Width="50" Height="50" Margin="10"/>
        </StackPanel>

        <TreeView Grid.Row="2" Grid.Column="0" Width="200">
            <TreeViewItem Header="Parent 1">
                <TreeViewItem Header="Child 1"/>
                <TreeViewItem Header="Child 2"/>
                <TreeViewItem Header="Child 3"/>
                <TreeViewItem Header="Child 4"/>
            </TreeViewItem>

            <TreeViewItem Header="Parent 2">
                <TreeViewItem Header="Child 1"/>
                <TreeViewItem Header="Child 2"/>
                <TreeViewItem Header="Child 3"/>
                <TreeViewItem Header="Child 4"/>
            </TreeViewItem>

            <TreeViewItem Header="Parent 3">
                <TreeViewItem Header="Child 1"/>
                <TreeViewItem Header="Child 2"/>
                <TreeViewItem Header="Child 3"/>
                <TreeViewItem Header="Child 4"/>
            </TreeViewItem>

            <TreeViewItem Header="Parent 4">
                <TreeViewItem Header="Child 1"/>
                <TreeViewItem Header="Child 2"/>
                <TreeViewItem Header="Child 3"/>
                <TreeViewItem Header="Child 4"/>
            </TreeViewItem>

            <TreeViewItem Header="Parent 5">
                <TreeViewItem Header="Child 1"/>
                <TreeViewItem Header="Child 2"/>
                <TreeViewItem Header="Child 3"/>
                <TreeViewItem Header="Child 4"/>
            </TreeViewItem>
        </TreeView>

        <StackPanel Grid.Row="2" Grid.Column="1" HorizontalAlignment="Center">
            <Button Content="Test"/>
            <Button Content="Test 1"/>
        </StackPanel>

        <TextBox  x:Name="Console" Grid.Row="2" Grid.Column="2" IsReadOnly="True"/>
    </Grid>
</Window>

MainWindow.xaml.cs
public partial class MainWindow
{
    public MainWindow()
    {
        Application.Current.Resources.MergedDictionaries.Add(
            Application.LoadComponent(new Uri("WpfAllPurposesTest;component/MyResources.xaml", UriKind.Relative)
            ) as ResourceDictionary);

        InitializeComponent();
    }
}

UPDATE: While I was writing this question, I realized that this issue somehow is time dependent ?!?
If I immediately use the triggers somehow they work, but waiting a couple of seconds they don't
In the below example I waited a couple of second (finding shortcuts for recording):

When pointing at the TreeViewItems and the Background turns blue, the icon disappears. Also the buttons in the middle does not have the icon from the trigger.
On the right side is the message from the Converter shown, and it shows that the correct trigger is triggered but the converter does not get the value.
In the below example, I was a little bit quicker with the recording short-cut:

In this example, the parent tree view items are shown correctly and icon is also changing, the message from converter shows also that the value is not null.
however for the second trigger which is triggered a little bit later and for the buttons it doesn't work.
Does any one know why this is happening or how to solve it ?
UPDATE
To remove all unnecessary focus and confusion.
This question is about the part:
 <ControlTemplate.Triggers>
      <Trigger Property="IsMouseOver" Value="True">
          <Setter ... Value="{Binding Source={StaticResource PlusRed}}"/>
      </Trigger>
 </ControlTemplate.Triggers>

In a ControlTemplate.Trigger when using the Setter with {Binding Source={StaticResource... It only reads the StaticResource for a brief moment after the compiling, if you wait a couple of seconds. it will not read it.
I removed all of the converters and the issue is still there...
Conclusion:
After some comments, the following comment of @BionicCode cleared the confusion.

The binding you are referring to is static. Binding is intended to bind to a value that can change. Binding will update the target of the source raiders a PropertyChanged event. Binding is not meant to set a referenced to an object. You use StaticResource for this purpose (see my answer)

In order to use the Converter I was creating a binding to a StaticResource which of course was not the intention.

A: You are doing it completely wrong and too expensive when it comes to performance. Also your styles contain redundant elements like the "TopBorder" in your TreeViewItem template and wrong trigger logic.
The proper way would be to define all resources in a XAML ResourceDictionary and reference them using the StaticResource markup. Don't use x:Static in this context.
Your algorithm to make elements red or change their color in general is very inefficient. For example you should not traverse the visual tree of the icon to change the Background of each element - even based on element type (which requires to implement a smelly type switch). Your current algorithm even requires XAML element de-/serialization. In other words, the overall performance is bad, which is totally unnecessary at this point.
You can replace this logic alongside the converter and simplify it by using data binding properly. This will also improve the performance.
I assume the desired behavior for the TreeViewItem expander is

*

*show "plus" icon when collapsed (to indicate can-be-expanded)

*show "minus" icon when expanded (to indicate can-be-collapsed)

*change icon background on mouse over to LightSkyBlue

*change icon stroke on mouse over to Red
When implementing triggers, you must give the templated element a default state.
Since the default of a boolean variable and therefore for the ToggleButton.IsChecked property of the expander is false, you should design the template based on the collapsed state. Then define triggers to change the appearance of elements when the state changes to expanded. This reduces the number of triggers and improves readability.
Step 1: Implement dynamic Icons
Define your icons to allow dynamic coloring i.e. fill and stroke. This way we enable to set those attributes via data binding.
The following example expects the drawings to be hosted in a ContentControl (or a derived type like a Button). It uses the ContentControl.Background to color the icon's background (in this case the Canvas.Background) and the ContentControl.Foreground to color the strokes of the actual icon drawings.
To achieve this behavior we use Bindig.RelativeSource to bind to the ContentControl (the parent that will be added later in a different scope):
<Viewbox x:Key="MinusIcon"
         x:Shared="False"
         Stretch="Uniform">
  <Canvas Background="{Binding RelativeSource={RelativeSource AncestorType=ContentControl}, Path=Background}"
          Width="32"
          Height="32"
          Clip="F1 M 0,0L 32,0L 32,32L 0,32L 0,0">
    <Rectangle Width="19"
               Height="19"
               Canvas.Left="6.49999"
               Canvas.Top="6.5"
               Stretch="Fill"
               StrokeMiterLimit="2.75"
               Stroke="#FF575756" /> <!-- Static border color (gray) -->
    <Rectangle Fill="{Binding RelativeSource={RelativeSource AncestorType=ContentControl}, Path=Foreground}"
               Width="9"
               Height="2"
               Canvas.Left="11.5"
               Canvas.Top="15"
               Stretch="Fill" />
  </Canvas>
</Viewbox>

<Viewbox x:Key="PlusIcon"
         x:Shared="False"
         Stretch="Uniform">
  <Canvas Background="{Binding RelativeSource={RelativeSource AncestorType=ContentControl}, Path=Background}"
          Width="32"
          Height="32"
          Clip="F1 M 0,0L 32,0L 32,32L 0,32L 0,0">
    <Rectangle Width="19"
               Height="19"
               Canvas.Left="6.49999"
               Canvas.Top="6.5"
               Stretch="Fill"
               StrokeMiterLimit="2.75"
               Stroke="#FF575756" /> <!-- Static border color (gray) -->
    <Path Fill="{Binding RelativeSource={RelativeSource AncestorType=ContentControl}, Path=Foreground}"
          Width="9"
          Height="9"
          Canvas.Left="11.5"
          Canvas.Top="11.5"
          Stretch="Fill"
          Data="F1 M 20.5,15L 17,15L 17,11.5L 15,11.5L 15,15L 11.5,15L 11.5,17L 15,17L 15,20.5L 17,20.5L 17,17L 20.5,17L 20.5,15 Z " />
  </Canvas>
</Viewbox>

Step 2: Use dynamic icons in buttons
When you want to use the dynamic icons, you can host them in any ContentControl. You use StaticResource markup to reference the icon resources. And you reference it directly (without a Binding to the resource). For example
<Button Content="{StaticResource PlusIcon}" />

Again, you define a default state (in case of a button this is not-clicked) and define triggers that modify the element when the state changes. It is highly recommended to use the VisualStateManager instead of triggers.
To keep the answer technically as simple as possible, the following example uses triggers. They change the coloring of the icon and the icon itself (as of your requirement):
<Style TargetType="Button">
  <Setter Property="Template">
    <Setter.Value>
      <ControlTemplate TargetType="Button">
        <StackPanel>
          <ContentControl x:Name="IconHost"
                          Foreground="LightSkyBlue"
                          Background="Transparent"
                          Content="{StaticResource PlusIcon}"
                          Width="50"
                          Height="50" />

          <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment" />
        </StackPanel>

        <ControlTemplate.Triggers>
          <Trigger Property="IsMouseOver"
                    Value="True">
            <Setter TargetName="IconHost"
                    Property="Content"
                    Value="{StaticResource MinusIcon}" />
            <Setter TargetName="IconHost"
                    Property="Foreground"
                    Value="Red" />
          </Trigger>
        </ControlTemplate.Triggers>
      </ControlTemplate>
    </Setter.Value>
  </Setter>
</Style>

Step 3: Use dynamic icons in ToggleButton of TreeViewItem
You use the icons like in Step 2, by hosting them in a ContentControl.
The following snippet shows how to use the icon with the expander ToggleButton. You can move the setting of the ToggleButton.Content to a Style:
<ToggleButton x:Name="Expander"
              Grid.Column="0"
              Grid.Row="0"
              Content="{StaticResource PlusIcon}"
              Background="{TemplateBinding Background}"
              Foreground="LightSkyBlue"
              IsChecked="{TemplateBinding IsExpanded}"
              ClickMode="Press"
              Style="{DynamicResource TreeToggleButtonStyle}"
              Visibility="Visible"
              Margin="0,0,2,0" /> <!-- Consider to use {StaticResource TreeToggleButtonStyle} when possible -->

Step 4: Bringing it all together
The following example is an improved version of your TreeViewItem style. It fixes the incorrect trigger logic and highlight behavior.
The complete logic is implemented completely in XAML. It uses the in Step 1 defined dynamic icons  and data binding to make the binding converter and extension methods obsolete.
The layout is improved, for example the redundant "TopBorder" is removed and all elements bind to the templated parent's TreeViewItem.Background property to fetch the current background highlight color (to reduce trigger setters).
Then the complete template is now based on the default state, which is the collapsed tree node. All attributes like Visibility and Background are configured accordingly.
The complete TreeViewItem style could look as follows:
<Window>
  <Window.Resources>

    <!-- Minus icon -->
    <Viewbox x:Key="MinusIcon"
             x:Shared="False"
             Stretch="Uniform">
      <Canvas Width="32"
              Height="32"
              Clip="F1 M 0,0L 32,0L 32,32L 0,32L 0,0"
              Background="{Binding RelativeSource={RelativeSource AncestorType=ContentControl}, Path=Background}">
        <Rectangle Width="19"
                   Height="19"
                   Canvas.Left="6.49999"
                   Canvas.Top="6.5"
                   Stretch="Fill"
                   StrokeMiterLimit="2.75"
                   Stroke="#FF575756" />
        <Rectangle Width="9"
                   Height="2"
                   Canvas.Left="11.5"
                   Canvas.Top="15"
                   Stretch="Fill"
                   Fill="{Binding RelativeSource={RelativeSource AncestorType=ContentControl}, Path=Foreground}" />
      </Canvas>
    </Viewbox>

    <!-- Plus icon -->
    <Viewbox x:Key="PlusIcon"
             x:Shared="False"
             Stretch="Uniform">
      <Canvas Width="32"
              Height="32"
              Clip="F1 M 0,0L 32,0L 32,32L 0,32L 0,0"
              Background="{Binding RelativeSource={RelativeSource AncestorType=ContentControl}, Path=Background}">
        <Rectangle Width="19"
                   Height="19"
                   Canvas.Left="6.49999"
                   Canvas.Top="6.5"
                   Stretch="Fill"
                   StrokeMiterLimit="2.75"
                   Stroke="#FF575756" />
        <Path Width="9"
              Height="9"
              Canvas.Left="11.5"
              Canvas.Top="11.5"
              Stretch="Fill"
              Fill="{Binding RelativeSource={RelativeSource AncestorType=ContentControl}, Path=Foreground}"
              Data="F1 M 20.5,15L 17,15L 17,11.5L 15,11.5L 15,15L 11.5,15L 11.5,17L 15,17L 15,20.5L 17,20.5L 17,17L 20.5,17L 20.5,15 Z " />
      </Canvas>
    </Viewbox>

    <!-- Button style -->
    <Style TargetType="Button">
      <Setter Property="Template">
        <Setter.Value>
          <ControlTemplate TargetType="Button">
            <StackPanel>
              <ContentControl x:Name="IconHost"
                              Width="50"
                              Height="50"
                              Foreground="LightSkyBlue"
                              Background="Transparent"
                              Content="{StaticResource Plus}" />
              <ContentPresenter />
            </StackPanel>

            <ControlTemplate.Triggers>
              <Trigger Property="IsMouseOver"
                       Value="True">
                <Setter TargetName="IconHost"
                        Property="Content"
                        Value="{StaticResource Minus}" />
                <Setter TargetName="IconHost"
                        Property="Foreground"
                        Value="Red" />
              </Trigger>
            </ControlTemplate.Triggers>
          </ControlTemplate>
        </Setter.Value>
      </Setter>
    </Style>
  </Window.Resources>

  <TreeView>
    <!-- TreeViewItem style -->
    <TreeView.ItemContainerStyle>
      <Style TargetType="TreeViewItem">
        <Setter Property="FocusVisualStyle"
                Value="{x:Null}" />
        <Setter Property="Background"
                Value="White" />
        <Setter Property="Template">
          <Setter.Value>
            <ControlTemplate TargetType="TreeViewItem">
              <Grid>
                <Grid.ColumnDefinitions>
                  <ColumnDefinition Width="25" />
                  <ColumnDefinition Width="Auto" />
                  <ColumnDefinition />
                </Grid.ColumnDefinitions>
                <Grid.RowDefinitions>
                  <RowDefinition x:Name="RowToHide"
                                 Height="20" />
                  <RowDefinition />
                </Grid.RowDefinitions>

                <Border Name="BrdBackground"
                        Grid.Row="0"
                        Grid.Column="0"
                        Grid.ColumnSpan="3"
                        Background="{TemplateBinding Background}"
                        BorderBrush="Gray"
                        BorderThickness="0,0,0,0" />

                <!--VERTICAL LINE-->
                <Border Name="VerticalLine"
                        Grid.Row="0"
                        Grid.RowSpan="2"
                        Grid.Column="0">
                  <Path Data="M 5 1 L 5 9"
                        StrokeThickness="0.5"
                        Stroke="Black"
                        Stretch="Fill"
                        VerticalAlignment="Stretch"
                        HorizontalAlignment="Center" />
                </Border>

                <!--HORIZONTAL LINE-->
                <Border Grid.Row="0"
                        Grid.Column="0"
                        Width="25">
                  <Path Data="M 12 12 L 25 12"
                        StrokeThickness="0.5"
                        Stroke="Black"
                        Stretch="None" />
                </Border>

                <!--EXPANDER / PLUS / MINUS ICON-->
                <ToggleButton x:Name="Expander"
                              Grid.Column="0"
                              Grid.Row="0"
                              Content="{StaticResource PlusIcon}"
                              Background="{TemplateBinding Background}"
                              Foreground="LightSkyBlue"
                              IsChecked="{TemplateBinding IsExpanded}"
                              ClickMode="Press"
                              Style="{DynamicResource TreeToggleButtonStyle}"
                              Visibility="Visible"
                              Margin="0,0,2,0" /> <!-- Consider to use {StaticResource TreeToggleButtonStyle} when possible (to improve performance) -->

                <!--TREE VIEW ITEM HEADER -->
                <ContentPresenter x:Name="PART_Header"
                                  Grid.Column="1"
                                  Grid.Row="0"
                                  ContentSource="Header"
                                  HorizontalAlignment="Left" />

                <!--TREE VIEW ITEM CHILDREN HOST-->
                <ItemsPresenter x:Name="ItemsHost"
                                Grid.Row="1"
                                Grid.Column="1"
                                Grid.ColumnSpan="2"
                                Visibility="Collapsed" />
              </Grid>

              <ControlTemplate.Triggers>
                <Trigger Property="HasItems"
                         Value="false">
                  <Setter TargetName="Expander"
                          Property="Visibility"
                          Value="Collapsed" />
                </Trigger>

                <Trigger Property="IsExpanded"
                         Value="True">
                  <Setter TargetName="ItemsHost"
                          Property="Visibility"
                          Value="Visible" />
                  <Setter TargetName="Expander"
                          Property="Content"
                          Value="{StaticResource MinusIcon}" />
                </Trigger>

                <Trigger Property="IsMouseOver"
                         Value="True">
                  <Setter Property="Background"
                          Value="LightSkyBlue" />
                  <Setter TargetName="Expander"
                          Property="Foreground"
                          Value="Red" />
                </Trigger>
              </ControlTemplate.Triggers>
            </ControlTemplate>
          </Setter.Value>
        </Setter>
      </Style>
    </TreeView.ItemContainerStyle>
  </TreeView>
</Window>

redpajama_set_name: RedPajamaStackExchange