There is a new member in my "Zhai" series of software, that is "Zhai video", which is the software used to watch videos. Of course, this is also the tool I use to cooperate with "Zhai".

Currently released v1.0.0.0 is mainly used to watch videos. Except for the software interface that I think is good-looking, there are no other special functions for the time being, but I have some ideas

"Zhao video" is also developed with WPF and open source. As for the future of "Zhao video", I will realize my favorite functions one by one. Please look forward to


"Zhai picture" is a new member of my "Zhai" series of software. It is a software used to view pictures and simply modify pictures. It is a tool I use with "Zhai".

Currently released v1 Version 0.0.0 is mainly used to view pictures, support the jump of folders at the same level, and browse classified pictures in a friendly way.

The same as "Zhai" is that "Zhai picture" is also developed with WPF! The difference is that I choose to open source the "Zhai picture". As for the future of "Zhai picture", I will realize my favorite functions one by one. Please look forward to


I forgot when I wrote the first line of code for this project, but at least four years ago

At that time, I just quit my job naked and was ready to start a trip to the West.

Before leaving Beijing, I rented a house in Beijing for one month. I stayed at home and did nothing, so I came up with the idea that lingered in my mind for a long time, that is to implement a media file manager.

I hope this manager can help me manage my photos, videos, movies and other resources, match the cover, score, mark like and so on, so that I can easily and quickly find the resources I want to see

Just do it!

I thought it could be realized by CSS, but it turned out to be the opposite. Finally, I still rely on JS

//Block the default processing method (prevent the effect of pull-down sliding)
//The passive parameter cannot be omitted. It is compatible with IOS and Android
document.body.addEventListener('touchmove', function (e) {
}, {passive: false});